面向对象分析与设计(第三版) 读书笔记

Posted 奇妙之二进制

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面向对象分析与设计(第三版) 读书笔记相关的知识,希望对你有一定的参考价值。

系统:
所有系统都有子系统,所有系统都是更大系统的组成部分,一个系统所提供的价值肯定来自于各个组成部分之间的相互关系,而不是来自于单个的组成部分。

评价类的设计是否良好的指标:

  • 耦合
  • 内聚
  • 完整性:足够描述某个抽象全部有意义的特征
  • 基础性:对象的接口只提供它的基本行为。

类方法的设计准则:

  • 可复用性
  • 复杂性
  • 相关性:这个方法与打算放入的类型之间的相关程度如何?依赖于类型的内部细节吗?

继承关系和聚合关系的选择:
只有当B是一种A时,才适合继承,否则聚合比继承关系更合适。

测试:

  • 单元测试
  • 组件测试
  • 系统测试

复用:
归纳常用方法、机制、设计模式和框架,建立为系统服务的标准基础库。

专人负责领导复用活动。复用在短期内会消耗一定的资源,但是将获得长期的汇报。

面向对象分析方法

1、经典分析

候选类和对象通常来自:

  • 实物 汽车、压力传感器
  • 角色 老师 学生
  • 事件 着陆 请求
  • 交互 借贷 会议
  • 地点

2、行为分析
关注动态的行为,将这些行为作为类和对象的主要来源。

理解谁发起了活动,谁参与了活动,扮演重要角色的发起者和参与者被确定为对象,我们针对这些角色,将行为职责分配到这些对象上。

3、领域分析

咨询领域专家(用户)

4、结构化分析

5、用例分析

面向对象设计的一些经验

面向对象设计是增量式、迭代式的:当在一个类型层次结构中设计类时,并非总是从基类开始,然后创建子类。通常,会创建一些看起来不相似的类型,意识到它们是相关的,然后将它们的共同特点分离出来,放到一个或多个基类中…通常需要这样上上下下做几次才能得到一个完整和正确的类体系。

类提升:有时候我们可能发现一个通用的子类,并将它在类结构中上移,从而增加共享度,这称为类提升。

粒度规模冲突:我们可能罚球线某个类太特殊化or一般化,因此从它派生出一个子类很困难,因为语义上的差距太大,这称为粒度规模冲突。

以上是关于面向对象分析与设计(第三版) 读书笔记的主要内容,如果未能解决你的问题,请参考以下文章

javascript高级程序设计第三版 读书笔记

《CSS3秘籍》(第三版)-读书笔记

JavaScript高级程序设计(第三版)学习笔记202123章

Java 线程第三版 第五章 极简同步技巧 读书笔记

读书笔记-APUE第三版-进程环境

《构建之法》(第三版)——邹欣 读书笔记