设计模式解析第二版 课后习题自我解答

第一章:
1.叙述功能分解中使用的基本方法。
将问题分解成多个功能步骤。

2.导致需求更变的三个原因是什么?
用户对自己需求的看法,会因为与开发人员的讨论,和看到软件新的可能性,而发生变化。
开发人员对用户问题领域的看法,会在开发使该领域自动化的软件的过程中,因为对它更加熟悉而发生变化。

3.我提倡用责任而不是功能来思考。这意味着什么呢?请举一个例子。
每个对象应该自己负责自己,而且应该清除地定义责任。比如学生上课应该知道从上一个教室到下一个教室。

4.给出耦合和内聚的定义,什么是紧耦合?
耦合:两个例程之间联系的紧密程度
内聚:一个例程内部组成部分之间互相的紧密程度。
两个例程之间联系非常紧密。

5.对象接口的目的是什么?
对象的很多方法都将标识为可被其他对象调用。

6.给出类实例的定义。
类的特例(总是一个对象)。类的特殊实例或者实体。每个对象都有自己的状态。
因此同一个类型(类)可以有几个对象。

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

8.抽象类的作用是什么?
抽象类为我们提供了一种方法,能够给一组相关的类赋予一个名字。
这使我们能够将这一组相关类看成一个概念。

9.对象可能具有的三种主要可访问性是什么?
public公开,protect保护,private私有

10.给出封装的定义,并举出一个行为封装的例子。
不仅仅是数据的隐藏,还是类的隐藏。

11.给出多态的定义,并举出一个多态的例子。
抽象类引用概念性地要求对象做什么时,将得到不同的行为。

12.观察对象的三种视角。
创建时、销毁时、派生

原文地址:https://www.cnblogs.com/ch122633/p/13046775.html