设计模式总结

1、迪米特法则(Demeter Principle):

     理解:最少知道原则。类之间要尽量减少关联,降低类之间的耦合性。如需要关联,可通过中介类来转达。

     实现:外观(Facade)、中介(Mediator)

2、开放-封闭原则():

     理解:对系统添加新的功能时不能影响到原有的功能。

     实现:a、多使用抽象类;b、多使用接口;

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

     理解:要依赖于抽象,不要依赖于具体;即要针对接口编程,不要针对实现编程。

     实现:三层架构,针对接口分层

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

     理解: 继承一个有很多方法的接口不如继承很多有一个方法的接口,这样不用去实现那些不需要的方法,可以选择自己需要的接口去继承。

     实现:

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

     理解:关于该不该使用继承上,如果在一个系统中,子类应该能够替换任何基类可以出现的地方,经过替换后代码还能正常工作,子类还可以扩展基类功能。这种情况下可以使用继承。

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

      理解:有两种办法可以实现代码复用:一、合成聚合 ;  二、继承。  

      我们应该尽量使用 合成聚合 来复用代码,除非满足下面几个条件才可以使用继承。  

      a、类满足is-A条件,而不是has-A ;

      b、类永远不会变成另一个类的子类,如果不能肯定以后不会变成另一类的子类,就不要用继承(因为不能多继承);

      c 、类可以扩展超类,但不能置换或注销掉超类;

1.创建型模式

因为对象的创建会消耗掉系统的很多资源,所以单独对对象的创建进行研究,从而能够高效地创建对象就是创建型模式要探讨的问题。这里有6个具体的创建型模式可供研究,它们分别是:

简单工厂模式(Simple Factory);

工厂方法模式(Factory Method);

抽象工厂模式(Abstract Factory);

创建者模式(Builder);

原型模式(Prototype);

单例模式(Singleton)。

说明:严格来说,简单工厂模式不是GoF总结出来的23种设计模式之一。

2.结构型模式

在解决了对象的创建问题之后,对象的组成以及对象之间的依赖关系就成了开发人员关注的焦点,因为如何设计对象的结构、继承和依赖关系会影响到后续程序的维护性、代码的健壮性、耦合性等。对象结构的设计很容易体现出设计人员水平的高低,这里有7个具体的结构型模式可供研究,它们分别是:

外观模式(Facade);

适配器模式(Adapter);

代理模式(Proxy);

装饰模式(Decorator);

桥模式(Bridge);

组合模式(Composite);

享元模式(Flyweight)。

3.行为型模式

在对象的结构和对象的创建问题都解决了之后,就剩下对象的行为问题了,如果对象的行为设计的好,那么对象的行为就会更清晰,它们之间的协作效率就会提高,这里有11个具体的行为型模式可供研究,它们分别是:

模板方法模式(Template Method);

观察者模式(Observer);

状态模式(State);

策略模式(Strategy);

职责链模式(Chain of Responsibility);

命令模式(Command);

访问者模式(Visitor);

调停者模式(Mediator);

备忘录模式(Memento);

迭代器模式(Iterator);

解释器模式(Interpreter)。

原文地址:https://www.cnblogs.com/kavilee/p/2361482.html