《设计模式解析(第2版•修订版)》—第1章复习题

本节书摘来自异步社区《设计模式解析(第2版•修订版)》一书中的第1章复习题,作者【美】Alan Shalloway(艾伦•沙洛维) , James R.Trott(詹姆斯•R.特罗特),更多章节内容可以访问云栖社区“异步社区”公众号查看。

复习题
设计模式解析(第2版•修订版)
简答题
1.叙述功能分解中使用的基本方法。

2.导致需求变更的三个原因是什么?

3.我提倡用责任而不是功能来思考。这意味着什么呢?请举出一个例子。

4.给出耦合和内聚的定义。什么是紧耦合?

5.对象接口的目的是什么?

6.给出类实例的定义。

7.类是一个对象行为的完整定义。这句话说明了对象的哪三个方面?

8.抽象类的作用是什么?

9.对象可能具有的三种主要可访问性1是什么?

10.给出封装的定义,并举出一个行为封装的例子。

11.给出多态的定义,并举出一个多态的例子。

12.观察对象的三种视角是什么?

阐述题
1.有时候,程序员使用“模块”来隔离不同区域的代码。这是应对需求变更的有效方式吗?为什么?

2.将抽象类定义为不能实例化的类局限性很大,为什么呢?抽象类更好的(或者至少,另一种)理解方式是什么?

3.行为的封装是怎样帮助限制需求变更带来的影响的?它又怎样挽救程序员免于无意导致的副作用?

4.接口怎样有助于保护对象不受其他对象变化的影响?

5.在一个系统中要使用教室作为描述对象。请从概念视角描述教室。

观点与应用题
1.需求变更是系统开发人员所面临的最大挑战之一。请从你自己的亲身经历中找出一个支持这一说法的例子。

2.功能分解方法在遇到需求变更时存在本质上的弱点。你同意这种说法吗?为什么?

3.你认为应对需求变更的最佳方法是什么?

1即可见性。——译者注

本文仅用于学习和交流目的,不代表异步社区观点。非商业转载请注明作译者、出处,并保留本文的原始链接。

上一篇:09-CSS字体属性之字体系列


下一篇:常见设计模式解析和实现(C++)FlyWeight模式