软件设计模式复习题

2020-11-29 00:35

软件设计模式复习题

1、 熟悉每个设计模式的定义、模式UML图解、模式使用情形以及模式优缺点。 2、 设计模式的两大主题是什么?

3、 设计模式分成几大类?每大类各包含哪些模式? 4、 为什么要使用设计模式?使用设计模式有哪些好处?

5、 比较抽象工厂模式和工厂方法模式相似性和差异性。什么情况下使用抽象工厂模式?什

么情形下使用工厂方法模式?

6、 简述原型模式中浅层克隆和深度克隆的区别?分别给出代码说明。 7、 模板方法和普通的实现类继承抽象类方式有何区别?

8、 是比较和分析适配器模式和桥接模式之间的共性和差异性。 9、 请用组合模式实现学校人事管理模式。 10、 综合应用装饰模式、命令模式和状态模式实现工具条命令按钮鼠标进入时高亮显示

状态以及鼠标单击按钮后呈现凹陷状态,表明当前按钮为选中状态。 11、 请阐述享元模式是如何节省系统内存的?试举例分析使用享元模式前后的内存节

约之比。 12、 使用解析器模式实现对学生成绩表的查询输入语句进行解析并执行查询,成绩表结

14、 试比较和分析中介者模式和观察者模式之间的相似性和差异性?两者是否能够相

互转化? 15、 模板方法和普通的抽象类继承有什么区别? 16、 使用访问者模式对12题中的学生信息进行报到。

1、 熟悉每个设计模式的定义、模式UML图解、模式使用情形以及模式优缺点。(见书) 答: 单件模式:

1单例模式:class Singleton{private static Singleton instance; ○

private Singleton(){}

public static Singleton GetInstance(){if (instance == null) { instance = new Singleton();} return instance; }

客户端代码:class Program{static void Main(string[] args) { Singleton s1 = Singleton.GetInstance(); Singleton s2 = Singleton.GetInstance();

if (s1 = = s2) {Console.WriteLine("Objects are the same instance");} Console.Read();}}

2多线程时的单例(Lock是确保当一个线程位于代码的临界区时,另一个线程不进入临界○

区。如果其他线程试图进入锁定的代码,则它将一直等待(即被阻止),直到该对象被释放) class Singleton{private static Singleton instance;

private static readonly object syncRoot = new object(); private Singleton(){}

public static Singleton GetInstance(){lock (syncRoot) {


软件设计模式复习题.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:二年级100以内加减乘除混合口算题(100题1页)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: