设计模式简答题

2019-09-01 08:33

1.什么是设计模式?设计模式的目标是什么? 答:

设计模式通常是对于某一类的软件设计问题的可重用的解决方案,将设计模式引入软件设计和开发过程,其目的就在于要充分利用已有的软件开发经验。 2.设计模式具有哪三大特点? 答:

(1) 在特定的场景下有可重用性,对相同类型不同问题的环境,其解决方案都有效。 (2) 可传授性,即问题出现的机会很多,解决问题的方案相同,人们相对可以接受。 (3) 有表示模式的名称。

3.GOF 设计模式常用的有几种?GOF 设计模式按照模式的目的可 分为哪三类?

答: 行为型,结构型,创建型

4.画出抽象工厂方法类图(这类题自己看书去。) 5.针对接口编程,不针对实现编程的意义。

答: 主题与观察者都是用接口:观察者利用主题的接口向主题注册,而主题利用观察者接口通知观察者。这样可以让两者之间运作正常,又同时具有松耦合的优点。 6.面向对象(OO)的原则有: 答:

1. 封装变化

2. 多用组合,少用继承

3. 针对接口编程,不针对实现编程 4. 为交互对象之间的松耦合设计而努力 5. 对扩展开放,对修改关闭 6. 依赖抽象,不要依赖具体类 7. 只和朋友交谈 8. 别找我,我会找你 9. 类应该只有一个改变的理由

7. 耦合分为几种?

(1) 内容耦合 (2) 公共耦合 (3) 外部耦合 (4) 控制耦合 (5) 标记耦合 (6) 数据耦合 (7) 非直接耦合 8.GOF模式分为几种,每种包含哪些模式? 答:分为3种。

创建型设计模式:简单工厂模式,工厂方法模式,抽象工厂模式,建造者模式,原型模式,单例模式; 结构型设计模式:适配器模式,桥接模式,组合模式,装饰模式,外观模式,轻量级模式,代理模式; 行为性设计模式:责任链模式,命令模式,解释器模式,迭代器模式,中介者模式,备忘录模式,观察者模式,状态模式,策略者模式,模板方法模式,访问者模式。

1.不要和陌生人说话” 是(D)原则的通俗表述

A.接口隔离 B.里氏代换 C.依赖倒转 D.迪米特

2.当一个抽象模型有两个方面,其中一个方面依赖于另一方面,将这两者封装在独立的对象中以使它们可以各自独立地改变和复用,可以考虑使用(A)

A.观察者模式 B.命令模式 C.适配器模式 D.单例模式

3.对于某些类来说,只有一个实例是非常重要的,例如,系统中可以有都种类型的打印机,但是只能有一个打印机假脱机,只应该一个文件系统和一个窗口管理器,为此,可以使用(C)。

A.工厂模式 B.享元模式 C.单例模式 D.外观模式

4.当需要支持日志修改时,可以考虑使用(A )

A.命令模式 B.工厂模式

C.单例模式 D.适配器模式

5.当需要在不同时刻指定、排列和执行请求是,可以考虑使用(A)。

A.命令模式 B.策略模式 C.适配器模式 D.责任链模式

6.在需要构建一个层次结构的子系统时,可以使用门面模式定义子系统中每层的入口点,可以考虑使用(A)。

A.外观模式 B.工厂模式 C.装饰模式 D.适配器模式

7.希望创建一个可复用的类,该类必须能够与接口不可预订的类协同工作,可以考虑使用(B)

A.桥接模式 B.适配器模式 C.工厂模式 D.装饰模式

8.在面向对象的原则中,(B)表示使用多个专门的接口比使用单一的总接口要好,一个类对另一个来的依赖性应当是建立在最小的接口上的。

A.单一责任原则 B.接口隔离原则 C.依赖倒转原则 D.迪米特原则

9.当需要强调一系列相关产品对象的设计以便进行联合使用,可以考虑使用(A)。

A.工厂模式 B.单例模式 C.建造者模式 D.原型模式

10.当客户程序与抽象类的实现部分之间存在很大的依赖性时,可以考虑使用(D)

A.单例模式 B.享元模式 C.工厂模式 D.外观模式

11.在设计模式中,(D)保证每个类只要单个实例。

A.工厂模式

B.外观模式 C.享元模式 D.单例模式

12.(C)是指以设计复用为目的,采用一种良好定义、正规的、一致的方式记录的软件设计经验。

A.架构

B.UML模型 C.设计模式 D.设计数据

13.在面向对象的的设计原则中,(A)表示高层模块不应该依赖于低层模块,都应该依赖于抽象,抽象不应该依赖于细节,细节应该依赖于抽象。

A.依赖倒转原则 B.开放封闭原则 C.迪米特原则 D.里氏替换原则

14.(A)将整个软件系统划分为模型、视图和控制器三个部分。

A.MVC B.分层模式 C.管道模式 D.架构模式

15.在面向对象的设计原则中,(B)表示软件实体应当对扩展开放,对修改关闭,即软件实体应当在不修改的前提下扩展。

A.单一责任原则 B.开放封闭原则 C.里氏替换原则 D.迪米特原则

16.在设计模式中,(C)的核心是缓存和共享

A.门面模式 B.工厂模式 C.享元模式 D.单例模式

17.关于适配器模式(Adapter)说法正确的是 A

A.将抽象部分与实现部分分离,使得它们两部分可以独立地变化 B.将一个接口转换成为客户想要的另一个接口。 C.组合多个对象形成树形结构以表示整体-部分的结构层次。其对单个对象和组合对象的使用具有一致性。

D.为其他对象提供一个代理或地方以控制对这个对象的访问。

18.迭代器模式(Iterator)模式适用于 B

A.需要在不同的时间创建请求,生成请求队列,执行请求。

B.需要遍历访问聚集中的对象而不能暴露聚集中内部结构。 C.想避免抽象方法和其实现方法绑定在一起。

D.一组对象复杂地相互通信但其方法是定义明确的。 19.请说出以下是运用何种设计模式 A abstract class Chess {

public abstract void Display(); }

class BlackChess : Chess {

public override void Display() {

Console.WriteLine(\黑棋\ } }

class ChessFactory {

public Hashtable chesses = new Hashtable(); public Chess GetChess(string key) {

Chess chess = (Chess)chesses[key]; if (chess == null) {

switch (key) {

case \黑\

chess = new BlackChess(); break; case \白\

chess = new WhiteChess(); break; }

chesses.Add(key, chess); }

return chess; } }


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

下一篇:三合风水主要流派及代表著作

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

马上注册会员

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