本节书摘来自异步社区《设计模式解析(第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即可见性。——译者注
本文仅用于学习和交流目的,不代表异步社区观点。非商业转载请注明作译者、出处,并保留本文的原始链接。