背景
功能:解决一系列复杂问题的理论 作用:提高代码的可重用性、增强系统的可维护性。 |
来源:GoF 四人帮【作者】 |
分类: 一、按模式的目标分类 创建型:Singleton、Factory Method、Abstract Factory、Builder、Prototype、 结构型:Decotator、Adapter、Proxy 行为型:Interpreter 、Observer、Strategy、Iterator 二、按模式处理对象分类 类模式:描述类之间的关系如何通过继承定义、是在编译时建立的 Factory Method、Adapter、Interpreter、 对象模式:描述对象之间的关系,通常是在运行时建立,而且得更加动态性、更有弹性 Singleton、Abstract Factory、Builder、Prototype、Decotator、Observer、Strategy、Iterator |
原则: 1.开闭原则 : 软件的生命周期:变化升级。 核心思想:抽象构建框架、实现扩展细节 2.单一职责原则: 类与职责与需求:单一负责。 3.里式替换原则:子类继承父类:√ 扩展功能方法、× 重写重载父类。 核心:只扩展、不改变 4.依赖倒转原则:类依赖接口。 高层模块<—依赖低层模块 核心思想:细节依赖抽象 5.接口隔离原则: 6.迪米特法则: |
设计模式
核心思想 |
将可重用的解决方案总结出来,并分门别类。 |
设计模式、重构和Antiparttern |
设计模式: 总结经验和实践 重构(Refactor):消除重复冗余代码,优化符合设计模式 Antiparttern:澄清设计问题和陷阱 |
OOP |
方法论:OOP [ 设计:对象的结构和写作关系] 建模语言:UML [建模表达:设计思想 ] |
分类 |
Creational patterns:组织创建对象 应对:不同情况下创建和初始化对象的代码变更。 Structural patterns:增强代码重用、优化对象结构 应对:减低代码的ripping效应 Behavioral patterns:定义对象间的协作关系 应对:清晰程序流程 |