设计模式简答题_第1页
设计模式简答题_第2页
设计模式简答题_第3页
设计模式简答题_第4页
设计模式简答题_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1 .什么是设计模式?设计模式的目标是什么?答: 设计模式通常是对于某一类的软件设计问题的可重用的解决方案,将设计模式引入软件设计和开发过程, 其目的就在于要充分利用已有的软件开发经验。2 .设计模式具有哪三大特点?答:在特定的场景下有可重用性,对相同类型不同问题的环境,其解决方案都有效。可传授性,即问题出现的机会很多,解决问题的方案相同,人们相对可以接受。有表示模式的名称。G0F设计模式常用的有几种? G0F设计模式按照模式的目的可 分为哪三类?答:行为型,结构型,创建型 4 .画出抽象工厂方法类图(这类题自己看书去。) 5.针对接口编程,不针对实现编程的意义。答:主题与观察者都是用接口:观

2、察者利用主题的接口向主题注册,而主题利用观察者接口通知观察者。这样可以让两者之间运作正常,又同时具有松耦合的优点。6.面向对象(00)的原则有:答:1.封装变化3.4.5.6.7.8.9.2.多用组合,少用继承针对接口编程,不针对实现编程为交互对象之间的松耦合设计而努力 对扩展开放,对修改关闭依赖抽象,不要依赖具体类只和朋友交谈 别找我,我会找你类应该只有一个改变的理由7.耦合分为几种?(1)内容耦合 (2)公共耦合 (3)外部耦合(4)控制耦合(5)标记耦合 (6)数据耦合 (7)非直接耦合8.G0F模式分为几种,每种包含哪些模式?答:分为3种。创建型设计模式:简单工厂模式,工厂方法模式,抽

3、象工厂模式,建造者模式,原型模式,单例模式;结构型设计模式:适配器模式,桥接模式,组合模式,装饰模式,外观模式,轻量级模式,代理模式;行为性设计模式:模式,状态模式,责任链模式,命令模式,解释器模式,迭代器模式,中介者模式,备忘录模式,观察者 策略者模式,模板方法模式,访问者模式。1不要和陌生人说话”是(D)原则的通俗表述A .接口隔离B. 里氏代换C. 依赖倒转D .迪米特2.当一个抽象模型有两个方面,其中一个方面依赖于另一方面,将这两者封装在独立的对 象中以使它们可以各自独立地改变和复用,可以考虑使用(A)A 观察者模式B. 命令模式C. 适配器模式D .单例模式3对于某些类来说,只有一个

4、实例是非常重要的,例如,系统中可以有都种类型的打印机, 但是只能有一个打印机假脱机,只应该一个文件系统和一个窗口管理器,为此,可以使用(C)。A 工厂模式B. 享元模式C. 单例模式D 外观模式4.当需要支持日志修改时,可以考虑使用(A )A .命令模式B.工厂模式C.单例模式D 适配器模式A )。5当需要在不同时刻指定、排列和执行请求是,可以考虑使用(A .命令模式B. 策略模式C. 适配器模式D 责任链模式6在需要构建一个层次结构的子系统时,可以使用门面模式定义子系统中每层的入口点, 可以考虑使用(A )。A .外观模式B-工厂模式C装饰模式D 适配器模式7希望创建一个可复用的类,该类必须

5、能够与接口不可预订的类协同工作,可以考虑使用(B)A 桥接模式B适配器模式C.工厂模式D 装饰模式&在面向对象的原则中,(B )表示使用多个专门的接口比使用单一的总接口要好,一个 类对另一个来的依赖性应当是建立在最小的接口上的。A 单一责任原则B-接口隔离原则C.依赖倒转原则D 迪米特原则A )。9当需要强调一系列相关产品对象的设计以便进行联合使用,可以考虑使用(A 工厂模式B单例模式C建造者模式D 原型模式10当客户程序与抽象类的实现部分之间存在很大的依赖性时,可以考虑使用(A 单例模式B.享元模式C 工厂模式D 外观模式11 在设计模式中,(D)保证每个类只要单个实例。A .工厂模式B.

6、外观模式C. 享元模式D .单例模式12.( C)是指以设计复用为目的,采用一种良好定义、正规的、一致的方式记录的软件设 计经验。A .架构B. UML模型C. 设计模式D .设计数据13.在面向对象的的设计原则中,(A)表示高层模块不应该依赖于低层模块,都应该依赖于抽象,抽象不应该依赖于细节,细节应该依赖于抽象。A .依赖倒转原则B. 开放封闭原则C. 迪米特原则D .里氏替换原则14. ( A)将整个软件系统划分为模型、视图和控制器三个部分。A. MVCB. 分层模式C. 管道模式D .架构模式15. 在面向对象的设计原则中,(B)表示软件实体应当对扩展开放,对修改关闭,即软件实体应当在不

7、修改的前提下扩展。A .单一责任原则B. 开放封闭原则C. 里氏替换原则D .迪米特原则16.在设计模式中,(C)的核心是缓存和共享A .门面模式B. 工厂模式C. 享元模式D .单例模式17.关于适配器模式(Ada pter)说法正确的是 AA .将抽象部分与实现部分分离,使得它们两部分可以独立地变化B. 将一个接口转换成为客户想要的另一个接口。C. 组合多个对象形成树形结构以表示整体-部分的结构层次。其对单个对象和组合对 象的使用具有一致性。D .为其他对象提供一个代理或地方以控制对这个对象的访问。18.迭代器模式(Iterator)模式适用于BA .需要在不同的时间创建请求,生成请求队列

8、,执行请求。B 需要遍历访问聚集中的对象而不能暴露聚集中内部结构。C.想避免抽象方法和其实现方法绑定在一起。D 一组对象复杂地相互通信但其方法是定义明确的。19请说出以下是运用何种设计模式Aabstract class Chessp ublic abstract void Disp lay();class BlackChess : Chessp ublic override void Disp lay()Console.WriteLine(黑棋);class ChessFactoryp ublic Hashtable chesses = new Hashtable();p ublic Ches

9、s GetChess(stri ng key)Chess chess = (Chess)chesseskey; if (chess = n ull)switch (key)case 黑:chess = new BlackChess(); break;case 白:chess = new WhiteChess(); break;chesses.Add(key, chess);retur n chess;A 享元模式(B. 工厂模式(C. 备忘录模式Flyweight)Factory)(Meme nto)Compo site)D .组合模式(20.以下哪种设计模式最符合以下场景说明:【军情的传递】

10、军队中军情的传递就是一个责任链,下属行动需要上级批准,所以要把行动计划报给 上级,上级又传给上级,直至有人可以决定。 一个士兵请求进入反恐行动组,他就会给班长 发送请求,班长给排长,排长给连长,这样一直传到军长,由军长进行批准。A .桥接模式(Bridge )B. 外观模式(Facade)C. 命令模式(Comma nd)D .责任链模式(Chain of Responsibility )21.以下哪种设计模式最符合以下场景说明:【电视节目选择器】电视提供了( creates)面板和遥控器两种节目选择方法,都具有“下一个”和“上一 个”按钮来控制转到不同的频道。A .责任链模式(Chain o

11、f Responsibility )B. 观察者模式(Observer)C. 模板方法模式(Temp late Method )D .迭代器模式(Iterator)22. 以下哪种设计模式能够支持动态地给一个对象增加其他职责而且在职责整合时支持热插 拔BA .桥接模式(Bridge )B. 装饰模式(Decorator)C. 享元模式(Flyweight )D .外观模式(Facade)23. 关于设计模式本质的说法,以下哪个是正确的A .设计模式利用类的继承来实现功能扩展B. 设计模式利用类的组合来实现功能扩展C. 设计模式就是在不修改原有类的基础上通过新增类来实现功能扩展或功能变更D .设

12、计模式就是利用类的继承和组合来实现功能扩展或功能变更24. 请说出以下是运用何种设计模式Dabstract class AbstractFactoryp ublic static AbstractFactory CreateFactory(stri ng type) AbstractFactory factory = n ull;switch (type)case Bmw:factory = new BmwFactory();break;case Audi:factory = new AudiFactory();break;return factory; p ublic abstract Ab

13、stracts portsCar Creates portsCar();p ublic abstract AbstractBuss in essCar CreateBuss in essCar();class BmwFactory : AbstractFactoryp ublic override Abstracts portsCar Creates portsCar() return new Bmw.BmwS portsCar();p ublic override AbstractBuss in essCar CreateBuss in essCar() return new Bmw.Bmw

14、Buss in essCar();组合模式(Composite)A.B. 简单工厂模式(Sim pie Factory)C. 工厂方法模式(Factory Method ) D .抽象工厂模式(Abstract Factory)25. 以下哪个设计模式最符合以下的场景说明:A1.能使客户端独立于产品的创建过程,并且在系统中引入新产品时无需对客户端进行 修改。A .工厂模式(Factory)B.状态模式(State)C.享元模式(Flyweight )D .原型模式(Prototype)26. 以下哪个设计模式是着重于一步步构造一个复杂对象并且是最后步骤才将返回此对象CA .简单工厂模式(Sim

15、ple Factory ) B.抽象工厂模式(Abstract Factory)C.建造者模式(Builder)D .单例模式(Singleton)27. 异常处理机制可理解为哪一种行为模式CA .观察者(Observer)模式B. 迭代器(Iterator)模式C. 职责链(Chain of Responsibility )模式D .策略(Strategy)模式28. Observer (观察者)模式适用于CA .当一个抽象模型存在两个方面,其中一个方面依赖于另一方面,将这二者封装在 独立的对象中以使它们可以各自独立地改变和复用B. 当对一个对象的改变需要同时改变其它对象,而不知道具体有多少

16、对象有待改变 时C. 当一个对象必须通知其它对象,而它又不能假定其它对象是谁。也就是说你不希 望这些对象是紧密耦合的D .一个对象结构包含很多类对象,它们有不同的接口,而想对这些对象实施一些依 赖于其具体类的操作封装分布于多个类之间的行为的模式是C29.A .观察者(Observer)模式B. 迭代器(Iterator)模式C. 访问者(Visitor)模式30.D .策略(Strategy)模式结构型模式中最体现扩展性的几种模式是A .适配器(Adapte)模式B. 合成(Composite)模式C. 装饰(Decorator)模式D .桥接(Bridge)模式 常用的基本设计模式可分为AA

17、 创建型、结构型和行为型31.B. 对象型、结构型和行为型C. 过程型、结构型和行为型D .抽象型、接口型和实现型32.以下关于创建型模式说法正确的是AA .创建型模式关注的是对象的创建B.创建型模式关注的是功能的实现C.创建型模式关注的是组织类和对象的常用方法D .创建型模式关注的是对象间的协作33.以下哪个模式是利用一个对象,快速地生成一批对象A .抽象工厂(Abstract Factory )模式B. 合成(Composite)模式C. 原型(Prototype)模式D .桥接(Bridge)模式34. 以下关于抽象工厂模式与建造者模式区别,说法不正确的是A .建造者模式着重于一步步构造

18、一个复杂对象;B.建造者模式在最后一步返回产品;C.抽象工厂中,产品是立即返回的 D .抽象工厂着重于单个的产品对象。35. 以下对于代理模式,说法不正确的是BA .虚拟代理:代理不会生成一个真实的耗费代理,直到非常有必要时(首次有请求 0。用来存放花费大(实例化要很长时间)的真实对象。B. 远程代理:本地代理对象控制一个本地的对象。C. 安全代理:代理检查调用真实对象所需要的权限。D .聪明代理:当调用真实的对象时,代理处理另外一些事。36. 抽象工厂模式的别名为CA .虚拟构造器模式B. 静态工厂模式C. Kit模式D .多态工厂模式37. 下列模式中,属于结构模式的是( B )。A .抽

19、象工厂模式B. 装饰模式C. 策略模式D .建造者模式38.下列关于静态工厂与工厂方法表述错误的是(A )。A .两者都满足开闭原则:静态工厂以if else方式创建对象,增加需求的时候会修改源代码B. 静态工厂对具体产品的创建类别和创建时机的判断是混和在一起的,这点在工厂 方法中C. 不能形成静态工厂的继承结构D .在工厂方法模式中,对于存在继承等级结构的产品树,产品的创建是通过相应等 级结构的工厂创建的39.适配器模式是( A )原则的典型应用。A .合成聚合复用原则B. 里氏代换原则C. 依赖倒置原则D .迪米特法则A )。40.下列模式中,不属于创建模式的是(A 适配器模式B. 工厂方

20、法模式C. 原型模式D 以上都不是 二、多选题1.当使用单件(单例)设计模式时,可以获得如下(A B C D )优点。2.A .对唯一实例提供受控访问B. 缩小名称空间C. 允许对操作和表示进行精化操作D 运行可变数目的类实例数从模式所提供的功能性来看,模式可以分为(3.A .创建模式B. 测试模式C. 行为模式D .结构模式以下属于面向对象的设计原则的有(ABC D )4.A .迪米特原则B. 依赖倒转原则C. 接口隔离原则D .无循环依赖原则(包图)关于外观模式(Facade)说法正确的是?A BA .提供一个统一的接口去访问多个子系统的多个不同的接口。5.B. 提供了一个简单且公用的接口

21、去处理复杂的子系统,C. 限制了客户的自由,减少了可变性。D .客户与抽象的实现类中存在若干依赖。关于访问者模式(Visitor )的适用性以下哪些是正确的。并且没有减少子系统的功能。A . 一个对象的结构包含多个不同接口的对象,并且需要根据具体对象作不同的处理。B. 对结构中的对象有很多不同且没有联系的处理,因此需要避免操作将类分离。C. 类中定义的对象结构很少改变,但需要以常地定义处理结构的新操作。6.D .需要对行为的算法作很多变动。以下哪些设计模式都可以用来将抽象部分与实现部分分离7.9.A .适配器模式(Adapter) B.装饰模式(Decorator)C.桥接模式(Bridge

22、)D .代理模式(Proxy)以下属于创建型模式的是ACA.B.C.抽象工厂(Abstract Factory )模式 合成(Composite)模式 单例(Singleton )模式桥接(Bridge)模式面向对象系统中功能复用的最常用技术是A .类继承B. 对象组合C. 使用抽象类D .使用实现类以下哪些问题通过应用设计模式能够解决A 指定对象的接口B. 排除软件BUGC. 确定软件的功能都正确实现D .设计应支持变化10以下属于行为对象模式的是A .模板(Template Method )模式B. 迭代器(Iterator)模式C. 命令(Comma nd)模式D .观察者(Observ

23、er)模式11.在不破坏类封装性的基础上,使得类可以同不曾估计到的系统进行交互。主要体现在 ADA .适配器(Adapte)模式B. 合成(Composite)模式C. 原型(Prototype)模式D .桥接(Bridge)模式12.以下关于抽象工厂设计模式,说法正确的是A .提供一系列相互依赖对象的创建工作B. 封装对象常规的创建方法(new)C. 提供统一调用数据访问方法的方式D .避免调用数据访问方法和具体对象创建工作的紧耦合三、简答题1请简述下,继承在程序设计中,存在的缺陷?答:因为在使用继承时,父类的任何改变都可能影响子类的行为,没有助于保持每个类的 单一职责原则。2. 简述下,结

24、构型模式一共有多少种,分别为哪些?代理模式、装饰模式和适配器模式, 有什么区别,如何区分应用在具体事例中。并请举例说明。答:一共有7种,分别为组合模式、装饰模式、外观模式、享元模式、代理模式、适配器模式、桥接模式;1适配器模式是将一个类(a)通过某种方式转换成另一个类(b). 2装饰模式是在一个原有类的基础之上增加了某些新的功能变成另一个类(b). 3代理模式是将一个类(a)转换成具体的操作类(b).3. 简述下,创建型模式一共有多少种,分别为哪些?工厂方法模式、抽象工厂模式与建造者模式,有什么区别,如何区分应用在具体事例中。并请举例说明。一共6钟,分别是简单工厂,工厂方法模式,抽象工厂模式,

25、建造者模式,原型 模式,单例模式。工厂只不过是对一个产品的封装,而抽象工厂是对一系列相关产品的 封装,建造者也是一种封装,只是它封装的是过程。4. 您现负责通过文件操作的开发框架设计任务。经过调研后,您发现公司已经封装好一个类专门用于提供txt , XML , Word , Excel文件操作的功能。 为了使得开发框架能最大的程度 的复用,您该如何设计您的开发框架。现提出几点技术意见:1 .2.3.在文件读写时,能支持处理过程动作自定义,即:在文件读写正在进行中能加入 业务功能。例如:每读取 100个字节,则滚动条增加一格。根据以上的说明,详细阐述该结合使用哪几种设计模式来实现以上的开发框架。

26、本框架提供对各类文件(txt , XML , Word , Excel )的通用读取和写入功能。 在文件读写时,能支持字符转码和字符转字节这两个功能的热插拔。5. 根据以下场景说明,请选用最佳的设计模式,并说明该设计模式的原理及其优缺点?场景:你在淘宝网上开了一间个人网店,你与买家之间不是面对面的现金交易,而是 通过淘宝网的支付宝系统进行电子货币虚拟交易。你网店的营业金额从支付宝里取,买家也把应支付的金额交给支付宝。适配器模式,一个适配允许通常因为接口不兼容而不能在一起工作的类工作在一起, 做法是将类自己的接口包裹在一个已存在的类中。6. 根据以下场景说明,请选用最佳的设计模式,并说明该设计模

27、式的原理及其优缺点?场景:你拿出上次旅行时所拍摄的个人写真照片,但你发觉你看来看去都不顺眼,于是你到礼品店买了个相框,结果你发现相框整体感还是达不到你的要求,所以你在相框上贴了一些小东西。经过你一番的努力,相框的整体感觉终于符合你的期望了。装饰模式:装饰模式以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案,提供比继承更多的灵活性。动态给一个对象增加功能,这些功能可以再动态的撤消。增加由一些基本功能的排列组合而 产生的非常大量的功能。7. 根据以下场景说明,请选用最佳的设计模式,并说明该设计模式的原理及其优缺点?场景:你与家人商量周末自驾一同前往海滩度假,以下是你和家人的对话妹妹:我

28、:妈妈:我:爸爸:我:“我想把芭比娃娃带上车。”“好好,还有呢?”“得把家里的个人日用品带上车。”“好好,还有呢?”“车上得备上几瓶好酒。”“好好,还有呢?”到了周末,我把所有的东西一件一件装上车,一路颠簸终于到了海滩。多个迭代子模式:迭代子模式可以顺序访问一个聚集中的元素而不必暴露聚集的内部表象。 对象聚在一起形成的总体称之为聚集,聚集对象是能够包容一组对象的容器对象。 迭代子模式将迭代逻辑封装到一个独立的子对象中,从而与聚集本身隔开。迭代子模式简化了聚集的界面。每一个聚集对象都可以有一个或一个以上的迭代子对象,每一个迭代子的迭代状态可以是彼此独立的。迭代算法可以独立于聚集角色变化。&根据以

29、下场景说明,请选用最合适的设计模式,并阐述该设计模式的原理及其优缺点?场景:假设某天你请朋友吃饭,麦当劳的鸡翅和肯德基的鸡翅都是朋友爱吃的东西,虽然口味有所不同, 但不管你带朋友去麦当劳或肯德基,只管向服务员说“来四个鸡翅”就行了。工厂模式:客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。 消费者无须修改就可以接纳新产品。缺点是当产品修改时,工厂类也要做相应的修改。如: 如何创建及如何向客户端提供。1)工厂方法 模式中,父类负责定义创建对象的公共接口,子类决定要创建的具体类是哪一个。2)抽象工厂模式提供一系列相关或相互依赖对象的接口而无需指定它们具体的类。3)单例模式确保某

30、一个类仅有一个实例,并自行实例化并向整个系统提供这个实例。组 合 模式将对象组合成树形结构以表示部分-整体”的层次结构。使得用户对单个对象和组合对象的使4)用具有一致性。5)外 观 模式定义了一个高层接口, 这个接口使得这一子系统更加容易使用,为子系统中的一组接口提供一个一致的界面,简化了一群类的接口。6)观察者模式定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新,也就是让对象能在状态改变时被通知。7)模板模MVC模型式定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。8)迭代器模式在对象的集合之中游走,而不暴露集合的实现。9)代理模式

31、包装对象,以控制对比对象的访问。10)适配器模式封装对象,并提供不同的接口。2.工厂模式分为(简单工厂),(工厂方法),(抽象工厂)三种类型。3.适配器模式,分为类的适配器和对象的适配器两种实现。其中类的适配器采用的是(继承)关系,而对 象适配器采用的是(组合聚合)关系。4.设计模式的基本要素有(名字),(意图),(问题),(解决方案),(参与者与协作者(实现),(一般性结构)。),5.MVC模型的基本工作原理是基于(观察者)模式,实现是基于(命令)模式6.面向对象的六条基本原则包括:开闭原则,里式代换原则,合成聚合原则以及(依赖倒转),(迪米特 法则)(接口隔离)。7 .当我们想用不同的请求

32、对客户进行参数化时,可以使用(命令)模式。8 .当我们想封装不同算法并使它们可相互替换时,可以使用(策略)模式。)。9. 每一个设计模式都集中于一个特定的(设计问题),描述了(相互通信的对象)或者(类)以及(解决 方案)和(解决效果 10 .设计模式中应优先使用(对象组合)而不是(类继承)。11.面向对象(00)的基础包括(抽象)(封装)(多态)(继承)。12. (状态模式)允许一个对象基于内部状态而拥有不同的行为。13. 模式不是代码,而是(针对设计问题)的通用解决方案。14. 观察者模式定义了对象之间(一对多)的关系。15. 观察者和可观察者之间用(松耦合方式)结合。16 .设计模式的两大

33、主题是:(对象组合)和(类继承)的讨论。17. (组合)和(委托)可用于运行时动态地加上新的行为。18. 工厂方法使用(继承)把对象的创建委托给子类,子类实现了工厂方法来创建对象。19. 抽象工厂方法使用(对象组合)使对象的创建被实现在工厂接口所暴露出来的方法中。20.在Java中实现单件模式,需要私有的(构造器)(一个静态方法)和(一个静态变量) 21 .命令模式将(发出请求)的对象和(执行请求)的对象解耦。22. 当需要一个现有的类而其接口不符合需求时,可使用(适配器)模式。23. 适配器模式的两种模式是(对象适配器)和(类适配器)。24. (模板方法)定义了算法的步骤,把这些步骤的实现延

34、迟到了子类。25. (代理模式)为另一个对象提供代表,以便控制客户对对象的访问。26. 装饰着模式为对象加上(行为)而代理模式则是(控制访问)。27.开闭原则:(扩展开放)(修改关闭)。28.代理模式分为哪4种:(虚拟代理)(远程代理)(安全代理)(聪明引用)。1 .设计模式具有的优点。(A)A. 适应需求变化 B.程序易于理解17、以下关于创建型模式说法正确的是。(A)2.若系统中的某子模块需要为其它模块提供访问不同数据库系统( Oracle、SQL Server、DB2 UDB 等)的功能,这些数据库系统提供的访问接口有一定的差异,但访问过程却都是相同的,例如,先连接数据库,再打开数据库,

35、最后对数据进行查询,(D )设计模式可抽象出相同的数据库访问过程;A. 外观B.装饰C.单件D.模板方法 3 .系统中的文本显示类(Textview )和图片显示类(PictureView )都继承了组件类(Component ),分别显示文本和图片内容,现需要构造带有滚动条、或者带有黑色边框、或者既有滚动条又有黑色边框的文 本显示控件和图片显示控件,但希望最多只增加三个类,(B)设计模式可以实现该目的。A. 外观B.装饰C.单件D.模板方法A)模式。10. 当我们想创建一个具体的对象而又不希望指定具体的类时,可以使用(A.创建型B.结构型C行为型D.以上都可以 11、设计模式的两大主题是(d

36、 )A.系统的维护与开发B对象组合与类的继承C.系统架构与系统开发D.系统复用与系统扩展 12、单例模式中,两个基本要点(a b )和单子类自己提供单例A .构造函数私有 B.唯一实例C.静态工厂方法 D.以上都不对 13、下列模式中,属于行为模式的是(b )A.工厂模式B观察者C适配器以上都是 14、对象适配器模式是(a )原则的典型应用。A.合成聚合复用原则B.里式代换原则C.依赖倒转原则 D.迪米特法则 15、静态工厂的核心角色是(a)A.抽象产品B.具体产品C.静态工厂D.消费者16、在观察者模式中,表述错误的是(c )A.观察者角色的更新是被动的。B. 被观察者可以通知观察者进行更新

37、C. 观察者可以改变被观察者的状态,再由被观察者通知所有观察者依据被观察者的状态进行。D. 以上表述全部错误。A.创建型模式关注的是对象的创建B. 创建型模式关注的是功能的实现C. 创建型模式关注的是组织类和对象的常用方法D .创建型模式关注的是对象间的协作 18.常用的描述设计模式的格式有(ABCD)。A.意图B.动机C.适用性D 结构19.以下关于结构型模式说法正确的是(ACD)。A.结构型模式可以在不破坏类封装性的基础上,实现新的功能。B. 结构型模式主要用于创建一组对象。C. 结构型模式可以创建一组类的统一访问接口D. 结构型模式可以在不破坏类封装性的基础上,使得类可以同不曾估计到的系

38、统进行交互。20. 以下属于结构型模式的是(AB)。A. 代理(Proxy)模式B.合成(Composite )模式C.命令(Command )模式 D.观察者(Observer)模式AD)。21.在不破坏类封装性的基础上,使得类可以同不曾估计到的系统进行交互。主要体现在(A. 适配器(Adapte )模式 B.合成(Composite )模式C.原型(Prototype )模式 D.桥接(Bridge)模式22.结构型模式中最体现扩展性的几种模式是(BC)。A. 适配器(Adapte )模式 B.合成(Composite )模式C.装饰(Decorator )模式 D.桥接(Bridge )

39、模式23. 行为类模式使用(B )在类间分派行为。A.接口 B.继承机制C.对象组合D.委托24. 以下属于行为对象模式的是(BCD )。A. 模板(Tem pl ate Method )模式 B.迭代器(Iterator )模式C.命令(Command )模式 D.观察者(Observer)模式25. 封装分布于多个类之间的行为的模式是(C)。A. 观察者(Observer)模式 B.迭代器(Iterator )模式C.访问者(Visitor)模式D.策略(Strategy )模式 26.利用继承来提供 DUCK的行为,会导致下列那些缺点? ( ABCD)A.代码在多个子类中重复B.运行时的

40、行为不容易改变C.我们不能让鸭子跳舞 D.改变会牵一发而动全身,造成其他鸭子不想要的改变设计模式一般用来解决什么样的问题(a)A.同一问题的不同表相B不同问题的同一表相C.不同问题的不同表相D.以上都不是2、 下列属于面向对象基本原则的是(c )A.继承B.封装C.里氏代换 D都不是3、 Open-Close原则的含义是一个软件实体(a )A.应当对扩展开放,对修改关闭.B.应当对修改开放,对扩展关闭C.应当对继承开放,对修改关闭D.以上都不对4、当我们想创建一个具体的对象而又不希望指定具体的类时,可以使用(A.创建型 B.结构型C行为型D.以上都可以5、要依赖于抽象,不要依赖于具体。即针对接

41、口编程,不要针对实现编程A.开-闭原则 B.接口隔离原则C.里氏代换原则 D.依赖倒转原则6、 依据设计模式思想,程序开发中应优先使用的是(a )关系实现复用。A,委派 B.继承 C创建 D.以上都不对 复用方式:继承和组合聚合(组合委派)7、 设计模式的两大主题是 (d )A.系统的维护与开发C.系统架构与系统开发1、a )模式。,是(d )的表述B对象组合与类的继承D.系统复用与系统扩展8、单例模式中,两个基本要点(a b )和单子类自己提供单例A .构造函数私有B.唯一实例C.静态工厂方法D.以上都不对9、下列模式中,属于行为模式的是(b )A. 工厂模式B观察者 C适配器 以上都是D.迪米特:一个对象应对其他对象尽可能少的了解 c )角色完成退化的。D使用者10、不要和陌生人说话”是(d )原则的通俗表述A.接口隔离 B.里氏代换C.依赖倒转11、构造者的的退化模式是通过合并(A.抽象产品B产品 C创建者12、单子(单例,单态)模式类图结构如下:下列论述中,关于” 0.1表述的不正确的是(d )A. 1表示,一个单例类中,最多可以有一个实例.B. ” 0.俵示单例类中有不多于一个的实例C. 0表示单例类中可以没有任何实例D. 0表示单例类可以提供其他非自身的实例13、对象适配器模式是( a )原则的典型应用。A.合成聚合复用原则B.里式代换原则C.依

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论