第5章设计模式简介 复习题
简答题
1. 设计模式思想应该归功于谁?
a) GOF从建筑学大师Alexander 的《建筑的永恒之道》中悟出,能够从现有的解决方案中,识别出模式,用于解决软件设计的问题。
2. Alexander 发现,通过观察解决类似问题的结构,能够看清什么问题?
a) 看清优秀设计之间的相似之处——模式
3. 给出模式的定义。
a) 模式:在某一背景下,能够解决一个问题的一种解决方案。
4. 设计模式的描述中关键要素是什么?
a) 名称,目的,实现方法,限制和约束因素
5. 学习设计模式的三个原因是什么?
a) 能够使用既有的模式,解决问题。以设计出可修改、可维护的方案。
b) 确立通用术语。
c) 给出观察问题、设计过程和面向对象更高层次的视角,从“过早处理细节”的桎梏中解放。
6. 《设计模式》一书对优秀面向对象设计的策略提出了哪些建议?
a) 。。。
阐述题
1. “有时我们会因为太熟悉而看不到一些显而易见的事情。”模式在哪些方面能够帮助避免这种现象?
模式所总结的,能够为人们提供指导准则,并给出了实现的约束以及后果,以供开发者斟酌。模式识别归纳出那些我们平时有用到,却没有注意到的方案,使得我们今后遇到相似问题时,能够复用模式。
2. 《设计模式》一书中编录了23 个模式。这些模式来自哪里?
来自软件界已经存在的优秀的软件模式中识别而来。
3. 模式中“因素”和“效果”的关系是什么?
“效果”是指使用模式的效果,他研究模式中起作用的各种“因素”。由于各个“因素”的影响,而造成了某种“效果”。
4. 你认为“找出变化并封装之”是什么意思?
将系统中有可能会产生变化的块找出,并独立放在一个地方。只暴露他所承担的责任,供外界发送请求。
5. 为什么应该避免巨型继承层次结构?
巨型继承层次结构使得类变得复杂,并且使得低内聚,还有可能造成类爆炸。
观点与应用题
1. 举出一个令人感觉“死气沉沉”的建筑或者结构。它不具备看上去更加“生机勃勃”的类似结构哪些共有特质?
a) 许多建筑的死气沉沉,不是因为建筑本身结构或者样子的死气沉沉,而更多的是周围坏境、历史背景使然,让他给人以死气沉沉的主观感受。那么,排除这些外界元素,到底哪些建筑才是由于本身的结构设计问题,而给人感觉死气沉沉呢?
犹太人纪念馆
不开放,封闭,层高低,狭窄
2. “模式有助于提高思考层次。”你有过什么类似经历吗?举出一个例子。