模式描述 | 包括 |
---|---|
创建型模式 | 工厂模式/抽象工厂模式/单例模式/建造者模式/原型模式 |
结构型模式 | 适配器模式/桥接模式/过滤器模式/组合模式/装饰器模式/外观模式/享元模式/代理模式 |
行为型模式 | 责任链模式/命令模式/解释器模式/迭代器模式/中介者模式/备忘录模式/观察者模式/状态模式/空对象模式/策略模式/模板模式/访问者模式 |
J2EE模式 | MVC模式/业务代表模式/组合实体模式/数据访问对象模式/前端控制器模式/拦截过滤器模式/服务定位器模式/传输对象模式 |
开闭原则(Open Close Principle)
- 对扩展开放,对修改关闭
- 程序需要扩展时不能修改原有代码,实现热插拔效果
- 使程序扩展性更好,易于维护和升级
- 使用接口和抽象类(关键步骤就是抽象化)
里氏代换原则(Liskov Substitution Principle)
- 任何基类可以出现的地方,子类一定可以出现
- 继承复用的基石,只有当派生类可以替换掉基类+软件功能不受影响时,基类才能真正被复用,二派生类才能在基类上增加新行为
- 里氏代换原则是对实现抽象化的具体步骤的规范
- 基类与子类的继承关系就是抽象化的具体实现
依赖倒转原则(Dependence Inversion Principle)
- 使用多个隔离的接口比使用单个接口好
- 降低类之间的耦合度
- 从大型软件架构出发、便于升级和维护的软件设计思想
- 强调降低依赖,降低耦合
迪米特法则/最少知道原则(Demeter Principle)
- 一个实体应当尽量少地与其他实体之间发生相互作用,使得系统功能模块相对独立
合成复用原则
- 尽量使用合成/聚合地方式,而非继承
原文:https://www.cnblogs.com/Roni-i/p/10951470.html