23种设计模式大纲

这是我上博客写的第二篇文章,有很多知识点可能会有些遗落或者不足,但是我希望能够把我会的知识点,自己遇到的问题和解决问题的过程跟大家分享,希望大家能过从中的得到一些启发。

  • 大致分为三类
   一 、创建型(5种):

        1)工厂方法模式( Factory Method

        2)抽象工厂模式(Abstract Factory

        3)单例模式(Singleton

        4)建造者模式( Builder

        5)原型模式(Prototype

   二、结构型(7种):

        1)适配器模式( Adapter Class/Object

        2)装饰器模式(Decorator

        3)代理模式(Proxy

        4)外观模式(Facade

        5)桥接模式(Bridge

        6)组合模式(Composite

        7)享元模式(Flyweight

   三、行为性(11种):

        1)策略模式(Strategy

        2)模板方法模式(Template Method

        3)观察者模式(Observer

        4)迭代器模式(Iterator

        5)责任链模式(Chain of Responsibility

        6)命令模式(Command

        7)备忘录模式( Memento

        8)状态模式(State

        9)访问者模式(Visitor

       10)中介者模式(Mediator

       11)解释器模式(Interpreter

注:工厂模式, 工厂方法模式,单例模式, 外观(Facade)模式, 观察者(Observer)模式,桥接(Bridge)模式都是比较常用的


  • 设计模式遵循的原则有6个
        

1、开闭原则(Open Close Principle)

  对扩展开放,对修改关闭

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

  只有当衍生类可以替换掉基类,软件单位的功能不受到影响时,基类才能真正被复用,而衍生类也能够在基类的基础上增加新的行为。

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

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

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

  使用多个隔离的借口来降低耦合度。

5、迪米特法则(Demeter Principle)(应用少)

  一个实体应当尽量少的与其他实体之间发生相互作用,使得系统功能模块相对独立。

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

  原则是尽量使用合成/聚合的方式,而不是使用继承。继承实际上破坏了类的封装性,超类的方法可能会被子类修改。


你可能感兴趣的:(设计模式)