设计模式分类

    设计模式的三大原则:

    1:开放--封闭原则:软件实体(类,模块,函数等等)应该可以扩展,但是不能修改。

    2:单一职责原则:对于一个类而言,应该仅有一个引起它变化的原因。

    3:依赖倒置原则:

         A:高层模块不应该依赖底层模块,两个都应该依赖抽象;

         B:抽象不应该依赖细节,细节应该依赖抽象。

一:构造型设计模式

  1:单例模式

       注意:多线程单例模式,进程辅助常量,死锁。

  2:简单工厂模式

      计算器实例

      注意:在扩展时候容易违反“开放--封闭原则”

  3:工厂方法模式

      学雷锋实例

      注意:

  4:建造模式(把一个复杂类的构造与表现形式分离开来)

      画胖,廋小人实例

      领导者,抽象方法

  5:模版模式()

      简历实例

      注意:深拷贝,浅拷贝,ICloneable借口,MerberWishClone(),对各种常见的语法还不是很了解。

三:行为模式

13:模板方法模式

     实例:问题答卷

14:命令模式

    实例:烤羊肉串

15:迭代器模式

   实例:买票

16:观察者模式()

   实例:老板,前台,员工(解决一对多的关系)

17:中介者模式(多对多的关系,发送消息,获取消息)

  实例:联合国安理会

18:备忘录模式(对程序的下一步,提前对数据进行保存)

 实例:游戏进度

19:解释器模式

 实例:音乐解析器

20:状态模式

 实例:加班状态

21:策略模式(对算法的封装过程)

 实例:超市打折

22:职责链模式(两个抽象接口,设置下属,执行方法)

 实例:员工请假

23:访问者模式

      根据具体的实例来帮助自己对固定模式的认识。对各种模式中类与类之间的关系有一个很好的认识吧,还有就是对各种常见的情况有一种很好的认识的过程吧。各种模式的细节认识过程,设计模式的组合过程。说白了还是对各种常见的情景能够合理的抽象类。

原文地址:https://www.cnblogs.com/snowhumen/p/2591062.html