参考:https://www.cnblogs.com/shuigu/p/6908520.html
创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。
结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。
行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、
设计模式的六大原则:
原则 | 解释 |
单一原则 (SRP) | 一个类只做一件事 |
开放-封闭原则(OCP) | 软件实体(类、模块、函数)可以拓展,但是不可修改 |
依赖倒转原则(DIP) | A.高层模块不应该依赖底层,两个都应该依赖抽。B.抽象不应该依赖细节,细节依赖抽象 |
里氏代换原则(LSP) | 子类型必须能够替换掉它们的父类型 |
迪米特法则(LoD) | 如果两个类不必直接通信,那么这两个类不应当发生直接的相互作用。如果其中一个类需要调用另一个类的某一个方法的话,可通过第三者发起这个调用 |
合成/聚合复用原则(CARP) | 尽量使用合成/聚合,尽量不要使用类继承 |