第二章——UML统一建模语言
- 空心三角箭头:is-a。比如圆形是形状的子类
- 空心菱形箭头:has-a(拥有)。比如“飞机场”拥有“飞机”
- 实心菱形箭头:has-a(组合)。比如“轮胎”是“汽车”的组成部分
- 虚线箭头:uses。
上面的图例0..1表示当拥有一个Aircraft对象时,它可以被0个或1个Airport对象所包含;0..*表示当拥有一个Airport对象时,它可以包含0个或N个Aircraft对象。
第三章——设计模式
设计模式的基本要素项目 | 描述 |
---|---|
名称 | 每个模式都有独一无二的名称,人们用名称来鉴别模式 |
意图 | 模式的目的 |
问题 | 模式试图解决的问题 |
解决方案 | 对于自己出现的场景中的问题,模式怎样提供一种解决方案 |
参与者与协作者 | 模式包括的实体 |
效果 | 使用模式的效果。使用模式的同时研究其约束 |
实现 | 怎样实现模式。 |
GOF参考 | 在四人团的书中得到更多信息的位置 |
效果/约束:术语效果被用于设计模式,并且常常被误解。在日常的用法中,“效果(consequence)”这个词并不带褒义。但是,在设计模式群体中,“效果”只是指“原因和结果”。也就是说,如果你用某种方法实现这个模式,它将怎样影响现有的约束以及怎样被现有约束影响。
创建优秀面向对象设计
- 针对接口编程
- 优先使用对象组合,而不是类继承
- 找到并封装变化点