设计模式-分类

精华文章:http://blog.csdn.net/column/details/sjmsxgjs.html

      http://www.cnblogs.com/beijiguangyong/archive/2010/11/15/2302807.html

  1. 创建型(Creational): 用于怎样创建一个对象。通常包括隔离对象创建的细节,这样代码不依赖于对象是什么类型,因此在增加一个新的对象类型时不需要改变代码。

    包括有 Factory Method(工厂方法) Abstract Factory(抽象工厂) Builder(建造者) Prototype(原型) Singleton(单例)。

  2. 结构型(Structural): 影响对象之间的连接方式,确保系统的变化不需要改变对象间的连接。结构型模式常常由工程项目限制条件来支配。

    包括有适配器模式(Adapter Pattern)桥接模式(Bridge Pattern)过滤器模式(Filter、Criteria Pattern)组合模式(Composite Pattern)装饰器模式(Decorator Pattern)

    外观模式(Facade Pattern)享元模式(Flyweight Pattern)代理模式(Proxy Pattern)

  3.行为型(Behavioral): 在程序中处理具有特定操作类型的对象。这些对象封装要执行的操作过程,比如解释一种语言,实践一个请求,遍历一个序列(如像在一个迭代器里),或者实现一个算       法。

    包括有 Interpreter(解释器) Template Method(模板方法) Chain of Responsibility(责任链) Command(命令) Iterator(迭代器) Mediator(中介者) Memento(备忘录) Observer(观察者) State(状态) Strategy(策略) Visitor(访问者)

设计模式的六大原则

  

1、开闭原则(Open Close Principle)

开闭原则的意思是: 对扩展开放,对修改关闭 。在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果。简言之,是为了使程序的扩展性好,易于维护和升级。想要达到这样的效果,我们需要使用接口和抽象类,后面的具体设计中我们会提到这点。

2、里氏代换原则(Liskov Substitution Principle)

里氏代换原则是面向对象设计的基本原则之一。 里氏代换原则中说,任何基类可以出现的地方,子类一定可以出现。LSP 是继承复用的基石,只有当派生类可以替换掉基类,且软件单位的功能不受到影响时,基类才能真正被复用,而派生类也能够在基类的基础上增加新的行为。里氏代换原则是对开闭原则的补充。实现开闭原则的关键步骤就是抽象化,而基类与子类的继承关系就是抽象化的具体实现,所以里氏代换原则是对实现抽象化的具体步骤的规范。

3、依赖倒转原则(Dependence Inversion Principle)

这个原则是开闭原则的基础,具体内容:针对对接口编程,依赖于抽象而不依赖于具体。

4、接口隔离原则(Interface Segregation Principle)

这个原则的意思是:使用多个隔离的接口,比使用单个接口要好。它还有另外一个意思是:降低类之间的耦合度。由此可见,其实设计模式就是从大型软件架构出发、便于升级和维护的软件设计思想,它强调降低依赖,降低耦合。

5、迪米特法则,又称最少知道原则(Demeter Principle)

最少知道原则是指:一个实体应当尽量少地与其他实体之间发生相互作用,使得系统功能模块相对独立。

6、合成复用原则(Composite Reuse Principle)

合成复用原则是指:尽量使用合成/聚合的方式,而不是使用继承。

下面用一个图片来整体描述一下设计模式之间的关系:

原文地址:https://www.cnblogs.com/zhehan54/p/5422931.html