文章借鉴于《设计模式:可复用面向对象软件的基础》
除了名词和图例,别的客户以不用管,后续针对每个模式进行分析
如何将系统分解成对象集合?
- 关键因素:封装、粒度、依赖关系、灵活性、性能、演化、复用
- 常用设计方法
- 写出问题描述,挑出名词、动词,创建相应的类和方法
- 关注与系统的协作和职责
- 对现实世界建模,映射到设计中
名词解释
- 型构:方法名、参数、返回
- 接口:对象操作所定义的所有操作(方法)型构的集合被称为该对象的接口
- 类型:标识特定接口的名字(多继承);子类型、超类型
- 实例:对象通过实例化来创建,此对象被称为该类的实例
- 委托:是一种组合方式,有两个对象参与处理一个请求,接受请求的对象将操作委托给他的代理者(将自己传给委托者,使委托者可以操作自己)
所用图示:
类
类名 |
方法 |
域 |
虚箭头表示一个类实例化另一个类的对象,箭头指向被实例化的对象的类
类继承(特殊的抽象类,类名和操作等以斜体表示),可以用下图的方式表示伪代码
组合:箭头表示组合
模式如何选取(学习过程中记住这些关键点,然后使用)
- 考虑涉及模式使如何解决问题的
- 浏览模式的意图部分
- 研究模式怎么互联
- 研究目的相似的模式
- 考虑你的设计中哪些使可变的