面向对象分析与设计(第三版) 读书笔记
Posted 奇妙之二进制
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面向对象分析与设计(第三版) 读书笔记相关的知识,希望对你有一定的参考价值。
系统:
所有系统都有子系统,所有系统都是更大系统的组成部分,一个系统所提供的价值肯定来自于各个组成部分之间的相互关系,而不是来自于单个的组成部分。
评价类的设计是否良好的指标:
- 耦合
- 内聚
- 完整性:足够描述某个抽象全部有意义的特征
- 基础性:对象的接口只提供它的基本行为。
类方法的设计准则:
- 可复用性
- 复杂性
- 相关性:这个方法与打算放入的类型之间的相关程度如何?依赖于类型的内部细节吗?
继承关系和聚合关系的选择:
只有当B是一种A时,才适合继承,否则聚合比继承关系更合适。
测试:
- 单元测试
- 组件测试
- 系统测试
复用:
归纳常用方法、机制、设计模式和框架,建立为系统服务的标准基础库。
专人负责领导复用活动。复用在短期内会消耗一定的资源,但是将获得长期的汇报。
面向对象分析方法
1、经典分析
候选类和对象通常来自:
- 实物 汽车、压力传感器
- 角色 老师 学生
- 事件 着陆 请求
- 交互 借贷 会议
- 地点
2、行为分析
关注动态的行为,将这些行为作为类和对象的主要来源。
理解谁发起了活动,谁参与了活动,扮演重要角色的发起者和参与者被确定为对象,我们针对这些角色,将行为职责分配到这些对象上。
3、领域分析
咨询领域专家(用户)
4、结构化分析
5、用例分析
面向对象设计的一些经验
面向对象设计是增量式、迭代式的:当在一个类型层次结构中设计类时,并非总是从基类开始,然后创建子类。通常,会创建一些看起来不相似的类型,意识到它们是相关的,然后将它们的共同特点分离出来,放到一个或多个基类中…通常需要这样上上下下做几次才能得到一个完整和正确的类体系。
类提升:有时候我们可能发现一个通用的子类,并将它在类结构中上移,从而增加共享度,这称为类提升。
粒度规模冲突:我们可能罚球线某个类太特殊化or一般化,因此从它派生出一个子类很困难,因为语义上的差距太大,这称为粒度规模冲突。
以上是关于面向对象分析与设计(第三版) 读书笔记的主要内容,如果未能解决你的问题,请参考以下文章