来源
- 《设计模式:可复用面向对象软件的基础》
设计模式空间
目的: 创建型 | 目的: 结构型 | 目的: 行为型 | |
---|---|---|---|
范围: 类 | Factory Method | Adapter(类) | Interpreter Template Method |
范围: 对象 | Abstract Factory Builder Prototype Singleton |
Adapter(对象) Bridge Composite Decorator Facade Flyweight Proxy |
Chain of Responsibility Command Iterator Mediator Memento Observer State Strategy Visitor |
1、目标准则:模式是用来完成什么工作的
- 创建型(Creational):与对象创建有关
- 结构型(Structural):处理类或对象的组合
- 行为型(Behavioural):对类、对象怎样交互和怎样分配职责进行描述
2、范围准则:模式主要用于类还是对象
- 类模式:处理类和子类间的关系。关系通过继承建立,是静态的,编译时便确定了
- 对象模式:处理对象间的关系,这些关系在运行时是可以变化的,更具动态性
3、复合描述
- 创建型类模式:将对象的部分创建工作,延迟到子类
- 创建型对象模式:将对象创建,延迟到另一个对象中
- 结构型类模式:使用继承机制,来组合类
- 结构型对象模式:描述对象的组装方式
- 行为型类模式:使用继承,描述算法和控制流
- 行为型对象模式:描述一组对象,怎样协作完成单个对象所无法完成的任务
定义
(操作的)型构 (signature)
对象声明的每一个操作,指定操作名、作为参数的对象和返回值
白话:函数签名
接口 (interface)
对象操作所定义的,所有操作型构的集合
白话:所有可用操作(函数)构成了接口
动态绑定 (dynamic binding)
发送给对象的请求,和它的响应操作,在运行时连接。
白箱复用 (white-box reuse):类继承
黑箱复用 (black-box reuse):对象组合
网友评论