




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、三、题目预测填空题:1. 请从外观、组合、工厂方法、模板方法、观察者、单件、抽象工厂、命令、迭代器、代理、适配器模式 中选择7种填入下列的空缺中。 P6101)工厂方法模式中,父类负责定义创建对象的公共接口,子类决定要创建的具体类是哪一个。2)抽象工厂模式提供一系列相关或相互依赖对象的接口而无需指定它们具体的类。3)单件模式确保某一个类仅有一个实例,并自行实例化并向整个系统提供这个实例。4)组合模式将对象组合成树形结构以表示部分-整体”的层次结构。使得用户对单个对象和组合对象的使用具有一致性。5)外观模式定义了一个高层接口 ,这个接口使得这一子系统更加容易使用,为子系统中的一组接口提供一个一致
2、的界面,简化了一群类的接口。6)观察者模式定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新,也就是让对象能在状态改变时被通知。7)模板模MVC模型式定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。8)迭代器模式在对象的集合之中游走、而不暴露集合的实现。9)代理模式包装对象,以控制对比对象的访问。10)适配器模式封装对象,并提供不同的接口。2. 工厂模式分为(简单工厂),(工厂方法),(抽象工厂)三种类型。3. 适配器模式,分为类的适配器和对象的适配器两种实现。其中类的适配器采用的是(继承)关系,而对 象适配器采用的是(组合聚合)关系。
3、4. 设计模式的基本要素有(名字), (意图),(问题),(解决方案),(参与者与协作者),(实现), (一般性结构)。5. MVC模型的基本工作原理是基于(观察者)模式,实现是基于(命令)模式6. 面向对象的六条基本原则包括:开闭原则,里式代换原则,合成聚合原则以及(依赖倒转),(迪米特 法则)(接口隔离)。7 .当我们想用不同的请求对客户进行参数化时,可以使用(命令)模式8 .当我们想封装不同算法并使它们可相互替换时,可以使用(策略)模式。9. 每一个设计模式都集中于一个特定的(设计问题),描述了(相互通信的对象)或者(类)以及(解决 方案)和(解决效果)。10 .设计模式中应优先使用(对
4、象组合)而不是(类继承)。11. 面向对象(OO)的基础包括(抽象)(封装)(多态)(继承)。12. (状态模式)允许一个对象基于内部状态而拥有不同的行为。13. 模式不是代码,而是(针对设计问题)的通用解决方案。14. 观察者模式定义了对象之间(一对多)的关系。15. 观察者和可观察者之间用(松耦合方式)结合。16 .设计模式的两大主题是:(对象组合)和(类继承)的讨论。17. (组合)和(委托)可用于运行时动态地加上新的行为。18. 工厂方法使用(继承)把对象的创建委托给子类,子类实现了工厂方法来创建对象。19. 抽象工厂方法使用(对象组合)使对象的创建被实现在工厂接口所暴露出来的方法中。
5、20. 在Java中实现单件模式,需要私有的(构造器)(一个静态方法)和(一个静态变量)21 .命令模式将(发出请求)的对象和(执行请求)的对象解耦。22. 当需要一个现有的类而其接口不符合需求时,可使用(适配器)模式。23. 适配器模式的两种模式是(对象适配器)和(类适配器)。24. (模板方法)定义了算法的步骤,把这些步骤的实现延迟到了子类。25. (代理模式)为另一个对象提供代表,以便控制客户对对象的访问。26. 装饰着模式为对象加上(行为)而代理模式则是(控制访问)。27. 开闭原则:(扩展开放)(修改关闭)。28. 代理模式分为哪4种:(虚拟代理)(远程代理)(安全代理)(聪明引用)
6、。选择题1 .设计模式具有的优点。(A)A. 适应需求变化 B.程序易于理解C.减少开发过程中的代码开发工作量D.简化软件系统的设计2.若系统中的某子模块需要为其它模块提供访问不同数据库系统(Oracle、SQL Server、DB2 UDB等)的功能,这些数据库系统提供的访问接口有一定的差异,但访问过程却都是相同的,例如,先连接数据库, 再打开数据库,最后对数据进行查询,( D)设计模式可抽象出相同的数据库访问过程;A.外观B.装饰C.单件D.模板方法3 .系统中的文本显示类(TextView )和图片显示类(PictureView )都继承了组件类(Component ),分 别显示文本和
7、图片内容,现需要构造带有滚动条、或者带有黑色边框、或者既有滚动条又有黑色边框的文本显示控件和图片显示控件,但希望最多只增加三个类,(B)设计模式可以实现该目的。A.外观B.装饰C.单件D.模板方法4. 下面的类图表示的是哪个模式? ( A )A、抽象工厂模式(Abstract Factory)B、工厂方法模式(Factory Method)C、命令模式(Command)D、责任链模式(Chain of Responsibility)5. 下面的类图表示的是哪个设计模式? ( B )A、代理模式(Proxy) B、装饰模式(Decorator )C、桥接模式(Bridge) D、观察者模式(Ob
8、server)6. 下面的类图表示的是哪个模式? ( B )A、代理模式(Proxy) B、外观模式(Facade)C、适配器模式(Adapter) D、桥接模式(Bridge)7. 下面的类图表明了哪个模式? ( D )A、责任链模式(Chain of Responsibility) B 、命令模式(Command)C、备忘录模式(Memento ) D、工厂方法模式(Factory Method )8、下面的类图表示的是哪个设计模式? ( D )A、模板方法模式(Template Method) B 、命令模式 (Command)C、单例模式(Singleton) D、状态模式(State
9、)9、下面的类图表示的是哪个设计模式? ( C )A、模板方法模式(Template Method) B 、命令模式 (Command)C、单例模式(Singleton) D、状态模式(State)10、当我们想创建一个具体的对象而又不希望指定具体的类时,可以使用(A)模式A. 创建型B.结构型C行为型D.以上都可以11、设计模式的两大主题是(d )A. 系统的维护与开发B对象组合与类的继承C.系统架构与系统开发D.系统复用与系统扩展12、单例模式中,两个基本要点(a b )和单子类自己提供单例A .构造函数私有 B.唯一实例C.静态工厂方法 D.以上都不对13、下列模式中,属于行为模式的是(
10、b )A.工厂模式B观察者C适配器以上都是14、对象适配器模式是(a )原则的典型应用。A.合成聚合复用原则B.里式代换原则C.依赖倒转原则 D.迪米特法则15、静态工厂的核心角色是(a)A.抽象产品B.具体产品C.静态工厂D.消费者16、在观察者模式中,表述错误的是( c )A. 观察者角色的更新是被动的。B. 被观察者可以通知观察者进行更新C. 观察者可以改变被观察者的状态,再由被观察者通知所有观察者依据被观察者的状态进行。D. 以上表述全部错误。17、以下关于创建型模式说法正确的是。( A)A.创建型模式关注的是对象的创建B. 创建型模式关注的是功能的实现C. 创建型模式关注的是组织类和
11、对象的常用方法D. 创建型模式关注的是对象间的协作18. 常用的描述设计模式的格式有(ABCD) oA.意图B.动机C.适用性D.结构19. 以下关于结构型模式说法正确的是(ACD) oA. 结构型模式可以在不破坏类封装性的基础上,实现新的功能。B. 结构型模式主要用于创建一组对象。C. 结构型模式可以创建一组类的统一访问接口D. 结构型模式可以在不破坏类封装性的基础上,使得类可以同不曾估计到的系统进行交互。20. 以下属于结构型模式的是(AB)。A.代理(Proxy)模式 B.合成(Composite)模式C.命令(Command )模式 D.观察者(Observer)模式21. 在不破坏类
12、封装性的基础上,使得类可以同不曾估计到的系统进行交互。主要体现在(AD)A.适配器(Adapte )模式 B.合成(Composite )模式C.原型(Prototype )模式 D.桥接(Bridge)模式22. 结构型模式中最体现扩展性的几种模式是(BC)。A.适配器(Adapte )模式 B.合成(Composite )模式C.装饰(Decorator )模式 D.桥接(Bridge )模式23. 行为类模式使用(B )在类间分派行为。A.接口 B.继承机制C.对象组合D.委托24.以下属于行为对象模式的是(BCD )A.模板(Template Method )模式 B.迭代器(Iter
13、ator )模式C.命令(Command )模式 D.观察者(Observer)模式25. 封装分布于多个类之间的行为的模式是(C)。A.观察者(Observer)模式 B.迭代器(Iterator )模式C.访问者(Visitor)模式 D.策略(Strategy )模式26. 利用继承来提供 DUCK的行为,会导致下列那些缺点? ( ABCD)A.代码在多个子类中重复B.运行时的行为不容易改变C.我们不能让鸭子跳舞 D.改变会牵一发而动全身,造成其他鸭子不想要的改变简答题:1 .什么是设计模式?设计模式的目标是什么?答:设计模式通常是对于某一类的软件设计问题的可重用的解决方案,将设计模式引
14、入软件设计和开发过程, 其目的就在于要充分利用已有的软件开发经验。2.设计模式具有哪三大特点?答:(1)在特定的场景下有可重用性,对相同类型不同问题的环境,其解决方案都有效。 可传授性,即问题出现的机会很多,解决问题的方案相同,人们相对可以接受。(3)有表示模式的名称。3 . GOF设计模式常用的有几种?GOF设计模式按照模式的目的可分为哪三类?答:行为型,结构型,创建型4 .画出抽象工厂方法类图(这类题自己看书去。)5. 针对接口编程,不针对实现编程的意义。答:主题与观察者都是用接口:观察者利用主题的接口向主题注册,而主题利用观察者接口通知观察者。 这样可以让两者之间运作正常,又同时具有松耦
15、合的优点。6. 面向对象(OO)的原则有:答:1.封装变化2.多用组合,少用继承3.针对接口编程,不针对实现编程4.为交互对象之间的松耦合设计而努力5.对扩展开放,对修改关闭6.依赖抽象,不要依赖具体类7.只和朋友交谈8.别找我,我会找你9.类应该只有一个改变的理由7. 耦合分为几种?(1)内容耦合(2)公共耦合(3)外部耦合(4)控制耦合(5)标记耦合(6)数据耦合(7)非直接耦合8. GOF模式分为几种,每种包含哪些模式?答:分为3种。创建型设计模式:简单工厂模式,工厂方法模式,抽象工厂模式,建造者模式,原型模式,单例模式;结构型设计模式:适配器模式,桥接模式,组合模式,装饰模式,外观模式
16、,轻量级模式,代理模式;行为性设计模式:责任链模式,命令模式,解释器模式,迭代器模式,中介者模式,备忘录模式,观察者 模式,状态模式,策略者模式,模板方法模式,访问者模式。综合题1.某游戏公司现欲开发一款面向儿童的模拟游戏,该游戏主要模拟现实世界中各种鸭子的发声特征、飞行特征和外观特征。游戏需要模拟的鸭子种类及其特征如下表所示: 为支持将来能够模拟更多种类鸭子的特征,采用某设计模式设计的类图如下所示: 其中,Duck 为抽象类,描述了抽象的鸭子, 而类 RubberDuck、MallardDuck、CottonDuck 和 RedHeadDuck 分别描述具体的鸭子种类,方法 fly()、qu
17、ack()和display()分别表示不同种类的鸭子都具有飞行特征、发声 特征和外观特征;类FlyBehavior与QuackBehavior为抽象类,分别用于表示抽象的飞行行为与发声行为; 类FlyNoWay与FlyWithWings分别描述不能飞行的行为和用翅膀飞行的行为;类 Quack、Squeak与 QuackNoWay分别描述发出 嘎嘎”声的行为、发出橡皮与空气摩擦声的行为与不发声的行为。C+代码#include<iostream>using namespace std ;classFlyBehavior public : virtual void fly() = 0;c
18、lassQuackBehavior public: virtual void quack() = 0;classFlyWithWings:publicFlyBehaviorpublic: void fly() cout<< "使用翅膀飞行!" <<endl; ;classFlyNoWay:publicFlyBehaviorpublic: void fly() cout<< "不能飞行! " <<endl; ;classQuack:publicQuackBehaviorpublic: void quack()
19、 cout<< "发出 ''嘎嘎''声! " <<endl;classSqueak:publicQuackBehavior(public: void quack()( cout<< "发出空气与橡皮摩擦声!" <<endl;);classQuackNoWay:publicQuackBehaviorpublic: void quack () cout<< " 不能发声! " <<endl; );class Duck protected:FlyBehavior * flyBehavior;QuackBehavior * quackBehavior;public:void fly() flyBehavior->fly(); )void quack() quackBehavior->quack(); ;virtual void display()=0;classRubberDuck: public Duck public:RubberDuck()flyBehavior = new FlyNoWay();quackBehavior
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 邢台市中医院护理教学社会服务考核
- 重庆市人民医院呼吸科临床研究协调员GCP规范入门考核
- 2025年铜川市为县以下医疗卫生机构定向招聘笔试考前自测高频考点模拟试题及答案详解(夺冠)
- 衡水市中医院影像带教资格考核
- 2025年南安市部分公办学校专项招聘编制内新任教师58人(二)模拟试卷及参考答案详解一套
- 2025江西人力诚聘派驻江西江铜华东铜箔有限公司劳务派遣人员14人考前自测高频考点模拟试题附答案详解(突破训练)
- 2025年安徽中烟工业有限责任公司招聘模拟试卷有答案详解
- 2025湖南衡阳市住房保障服务中心招聘见习人员3人考前自测高频考点模拟试题完整参考答案详解
- 重庆市人民医院神经阻滞技术专项技能考核
- 2025黑龙江黑河爱辉区中心敬老院招聘工作人员13人考前自测高频考点模拟试题有答案详解
- 围墙新建及改造工程施工组织设计(技术标)
- 房屋建筑学民用建筑构造概论
- 政策议程多源流模型分析
- 蓝点网络分账解决方案
- GB/T 22315-2008金属材料弹性模量和泊松比试验方法
- GB/T 17980.37-2000农药田间药效试验准则(一)杀线虫剂防治胞囊线虫病
- 血管活性药物(ICU)课件
- 旅游饭店服务技能大赛客房服务比赛规则和评分标准
- “手电筒”模型-高考数学解题方法
- GB∕T 2980-2018 工程机械轮胎规格、尺寸、气压与负荷
- TTAF 068-2020 移动智能终端及应用软件用户个人信息保护实施指南 第8部分:隐私政策
评论
0/150
提交评论