设计模式(1)

目录

  • 为什么写?

  • 写什么?

  • 设计模式

为什么写

前一段时间,通过《Head First 设计模式》一书,对23种设计模式进行了学习,由于之前的大型项目经验并不是很多,所以有些地方读起来晦涩难懂,想借助写博客来对原书在次进行一遍回顾,同时结合Android和Java中类库的一些设计模式来进行详细的分析,在进一步回顾设计模式的同时,探索各种设计模式的最佳应用场景,来写出耦合度低的高质量代码。

写些什么?

该种设计模式针对的应用场景,模式的代码结构,在Android,Java类库中的应用体现。

设计模式

常有人调侃设计模式:语言留下的坑,就要设计模式来填。从某种角度上完全也可以这样来理解。Java的学习曲线中,设计模式成为程序员自我满足感的一个转折点,由此看见设计模式的重要性和Java语言到底有多坑~~~

设计模式并不直接用来完成代码的编写,而是描述在各种不同情况下,要怎么解决问题的一种方案。面向对象设计模式通常以类或对象来描述其中的关系和相互作用,但不涉及用来完成应用程序的特定类或对象。设计模式能使不稳定依赖于相对稳定、具体依赖于相对抽象,避免会引起麻烦的紧耦合,以增强软件设计面对并适应变化的能力。

上面是引用维基百科对设计模式的一个定义。对于一些项目,我们不可能做到一次开发终身使用,而是随着需求的不断增多,我们需要对程序进行不断地修改,以此来适应新的需求,通过好的设计模式,可以使我们程序松耦合,减少彼此之间的依赖,从而使其扩展性更强,大大减少后期维护成本,降低后期开发难度。

设计模式分类
设计模式按照其目标进行分类可以分为创建型, 结构型,行为型

创建型

  1. 单例模式(Singleton)

  2. 生成器模式(Builder)

  3. 原型模式(Prototype)

  4. 抽象工厂模式(Abstract Factory)

  5. 工厂方法模式(Factory Method)

行为型

  1. 策略模式(Strategy)

  2. 状态模式(State)

  3. 责任链模式(Chain of Responsibility)

  4. 解释器模式(Interpreter)

  5. 命令模式(Command)

  6. 观察者模式(Observer)

  7. 备忘录模式(Memento)

  8. 迭代器模式(Iterator)

  9. 模板方法模式(Template Method)

  10. 访问者模式(Visitor)

  11. 中介者模式(Mediator)

结构型

  1. 装饰者模式(Decorator)

  2. 代理模式(Proxy)

  3. 组合模式(Composite)

  4. 桥连接模式(Bridge)

  5. 适配器模式(Adapter)

  6. 蝇量模式(Flyweight)

  7. 外观模式(Facade)

对于各种类型其所包含的各种设计模式,本文将一概而过,在后期文章中将展开对每种类型进行详细说明。

反模式:在我们开发的过程中,可能会不由自主的使用一些模式,在我们的开发中对我们比较有吸引力,但是其不是很好的解决方案,反模式,就是对这些模式进行的一个总结。

你可能感兴趣的:(面向对象设计模式)