天天看点

六大设计原则&二十三种设计模式 每位一句话

六大设计原则

  1. 单一职责

    There should never be more than one reason for a class to change.

  2. 里氏替换原则

    父类可以用的地方子都可以用(有不同功效),子可用的地方父不一定可用。

  3. 依赖倒置

    高层模块和底层模块都应该依赖其抽象,实现依赖抽象-面向接口编程

  4. 接口隔离

    建立单一接口, 不要建立臃肿庞大的接口 。要求“尽量使用多个专门的接口”

  5. 迪米特法则

    只和最亲近的类接触,对自己需要调用的类知道的越少越好

  6. 开闭原则

    对扩展开放,对修改关闭

二十三种设计模式

  1. 单例模式

    一个类只有一个实例

  2. 工厂方法模式

    建一个方法,生产对象

  3. 抽象工厂模式

    建一个抽象类/接口,生产对象

  4. 模板方法模式

    建一个抽象类/接口,为以后的实现画格子

  5. 建造者模式

    在对象的构建过程中,根据不同的情况构造出同一个类的不同的对象来

  6. 代理模式

    A有一个保姆,照顾它

  7. 原型模式

    实现clone方法,每次拷贝出原型来,再修改

  8. 中介者模式

    中介者是和外界通讯的类,传声筒。感觉和代理类似。

  9. 命令模式

    把请求封装成对象,然后发送出去

  10. 责任链模式

    一件事多个流程,每个流程都可以拒绝和传递

  11. 装饰模式

    对成绩单的滤镜,装饰出亮点,作大会报告

  12. 策略模式

    定义出不同套策略,内封不同动作,打出一套组合拳

  13. 适配器模式

    插销转换器

  14. 迭代器模式

    实现iteration接口,从头到尾

  15. 组合模式

    对象里面套对象

  16. 观察者模式

    旁观者,被观察者动作后去通知观察者

  17. 门面模式

    小组内和外部联系的中介者,话事人

  18. 备忘录模式

    为对象的某个状态备个份

  19. 访问者模式

    访问者模式只能看到访问者看到的,RBAC

  20. 状态模式

    对象生命周期分为几个状态,每个状态为一个对象

  21. 解释器模式

    定义自己的运算符,自己的值,然后进行解释运算

  22. 享元模式

    多个重复对象可以考虑共享

  23. 桥梁模式

    把抽象和实现解耦,相当于建一个半抽象连接抽象和具体实现

继续阅读