设计模式初探

设计模式

面向对象的设计原则

在看设计模式的时候都会多少提到面向对象的设计原则,明白了这些设计原则对于理解设计模式是很有帮助的,所以我就先介绍下面向对象的设计原则。
设计原则是为了服务于软件开发, 提高一个软件的可维护性和复用性 。常见的设计原则如下: 设计原则 | 说明
—|—
单一原则 | 一个类只负责一个具体领域的职责
开闭原则 | 软件实体应对拓展开放,对修改关闭
里氏代换原则 | 所有引用基类对象的地方可以透明地使用它子类的对象

依赖倒转原则 | 抽象不应该依赖于具体细节,细节应该依赖于抽象
合成复用原则 | 尽量使用对象组合而不是继承达到复用的目的
迪卡特法则 | 一个软件实体应该尽可能少的于其他实体发生关系

设计模式

知道了常用的设计原则之后,我们可以看看常见的设计模式,本篇文章不对设计模式进行具体的讨论,具体的请看详细分析的文章。 设计模式 说明
单例模式 一个类在全局只有一个实例,并且提供全局访问的方法
工厂模式 定义一个创建对象的接口,让子类决定具体生成什么
外观模式 为一个复杂的业务提供一个统一的入口,使得外部使用更加方便
迭代器模式 提供一种方法来访问聚合对象,而不用暴露这个对象的内部表示
观察者模式 一对多的依赖关系,被观察对象的状态改变,所有的观察者都会受到通知
组合模式 组合多个对象形成树形结构,组合对象和单个对象的使用具有一致性
适配器模式 将一个接口转化为客户端希望的另外的接口,使得不兼容的接口可以正常工作
命令模式 使用抽象命令类将请求参数化,客户端只需要知道使用命令即可
策略模式 将算法的使用和定义分开,让算法可以随客户而变化