zoukankan      html  css  js  c++  java
  • 设计模式分类

        设计模式的三大原则:

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

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

        3:依赖倒置原则:

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

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

    一:构造型设计模式

      1:单例模式

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

      2:简单工厂模式

          计算器实例

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

      3:工厂方法模式

          学雷锋实例

          注意:

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

          画胖,廋小人实例

          领导者,抽象方法

      5:模版模式()

          简历实例

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

    三:行为模式

    13:模板方法模式

         实例:问题答卷

    14:命令模式

        实例:烤羊肉串

    15:迭代器模式

       实例:买票

    16:观察者模式()

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

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

      实例:联合国安理会

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

     实例:游戏进度

    19:解释器模式

     实例:音乐解析器

    20:状态模式

     实例:加班状态

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

     实例:超市打折

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

     实例:员工请假

    23:访问者模式

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

  • 相关阅读:
    20.GC日志详解及日志分析工具
    19.JVM调优工具锦囊
    两个页面的传参(转自博客园的春哥也编程)
    纯js实现背景图片切换
    关于引用类型用ref传参的问题
    C++ return
    C++内存管理
    Chrome插件开发一(配置文件)
    C++对象传递
    const 与 #define 的比较
  • 原文地址:https://www.cnblogs.com/snowhumen/p/2591062.html
Copyright © 2011-2022 走看看