2011软件开发方法与环境复习题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

软件开发方法与环境复习题
1.简述“开—闭”原则的基本思想。

请举出一个使用了软件“开—闭”原则的软件设计模式,其中何处体现了“开—闭”原则。

2.简述依赖例转原则的基本思想。

请举出一个使用了软件依赖原则的软件设计模式,其中何处体现了依赖原则。

3.Android开发中,界面元素和相应的处理之间,一般不是直接关联的,而是使用控件的监听器来实现。

谈谈你对这种方式的一些看法。

4.软件复用可采用类的继承方式和类的聚合方式,比较两者的优缺点。

5.画出工厂方法模式的结构图。

什么情况下适合使用工厂方法模式?
6.画出合成模式(Composite)的结构图。

举例说明一个可以应用合成模式的软件设计实例,说明其中各角色的作用。

7.简述门面模式(Facade)和中介者模式(Mediator)的基本思想,两者的差异何在?
8.简述观察者模式的基本思想,如何实现当目标对象发生变化时多个观察者对象的同步更新?画出他们之间的协作图。

9.举一适合使用State模式的例子。

与不使用该模式相比,有哪些优点?10.有哪些模式的使用可以使得类的复用性增强?说明你的理由。

11.比较Adapter和Proxy模式使用上的异同之处。

12.说明Observer模式的基本实现方式和类图。

如果不用该模式,要达到同样的效果,你会如何做?
13.请列举一个使用装饰模式的例子。

画出你的例子的类图结构。

如果不使用这种模式会出现哪些问题?
14.列举两个可以使我们在程序中不必使用if…else结构的软件设计模式。

使用软件设计模式是如何做到这一点的?和常规做法相比,付出的代价是什么?
15.很多设计模式都是一个抽象层,再是一个具体层。

谈谈你对这种方式的认识。

16.策略模式(Strategy)和状态模式(State)的类图是完全一样的,他们分别适合在什么地方使用?
考试内容
1.开闭模式
2.软件复用可以采用类得继承方式和类得聚合方式,比较两者的优缺点?
3.Observer模式的基本实现方式和类图。

4.装饰模式
5.列举两个可以使我们在程序中不必使用if…else结构的软件设计模式。

使用软件设计模式是如何做到这一点的?和常规做法相比,付出的代价是什么?
6.很多设计模式都是一个抽象层,再是一个具体层。

相关文档
最新文档