`

设计模式总结性试题

阅读更多
设计模式总结性试题

1、设计模式一般用来解决什么样的问题( a)
    A.同一问题的不同表相    B不同问题的同一表相
    C.不同问题的不同表相    D.以上都不是

2、下列属于面向对象基本原则的是( c )
    A.继承  B.封装 C.里氏代换  D都不是

3、Open-Close原则的含义是一个软件实体( a )
    A.应当对扩展开放,对修改关闭.
    B.应当对修改开放,对扩展关闭
    C.应当对继承开放,对修改关闭
    D.以上都不对

4、当我们想创建一个具体的对象而又不希望指定具体的类时,可以使用( a )模式。
    A.创建型  B.结构型 C行为型 D.以上都可以

5、要依赖于抽象,不要依赖于具体。即针对接口编程,不要针对实现编程,是( d )的表述
    A.开-闭原则
    B.接口隔离原则
    C.里氏代换原则
    D.依赖倒转原则


6、依据设计模式思想,程序开发中应优先使用的是( a )关系实现复用。
    A, 委派  B.继承  C创建   D.以上都不对
    复用方式:继承和组合聚合(组合委派)

7、设计模式的两大主题是( d )
    A.系统的维护与开发       B 对象组合与类的继承
    C.系统架构与系统开发     D.系统复用与系统扩展

8、单子模式中,两个基本要点( a b )和单子类自己提供单例
    A .构造函数私有    B.唯一实例
    C.静态工厂方法    D.以上都不对

9、下列模式中,属于行为模式的是( b )
    A.工厂模式   B观察者   C适配器  以上都是

10、“不要和陌生人说话” 是( d )原则的通俗表述
    A.接口隔离   B.里氏代换  C.依赖倒转   D.迪米特:一个对象应对其他对象尽可能少的了解

11、构造者的的退化模式是通过合并( c )角色完成退化的。
    A.抽象产品    B产品    C创建者     D使用者

12、单子(单例,单态)模式类图结构如下:

    下列论述中,关于”0..1”表述的不正确的是( d )
    A.1表示,一个单例类中,最多可以有一个实例.
    B.”0..1”表示单例类中有不多于一个的实例
    C.0表示单例类中可以没有任何实例
    D.0表示单例类可以提供其他非自身的实例

13、对象适配器模式是( a )原则的典型应用。
    A.合成聚合复用原则     B.里式代换原则
    C.依赖倒转原则        D.迪米特法则

14、静态工厂的核心角色是(a)
    A.抽象产品   B.具体产品    C.静态工厂   D.消费者

15、下列关于静态工厂与工厂方法表述错误的是:( a )
    A.两者都满足开闭原则:静态工厂以if else方式创建对象,增加需求的时候会修改源代码
    B.静态工厂对具体产品的创建类别和创建时机的判断是混和在一起的,这点在工厂方法中
    C.不能形成静态工厂的继承结构
    D.在工厂方法模式中,对于存在继承等级结构的产品树,产品的创建是通过相应等级结构的工厂创建的。

16、在观察者模式中,表述错误的是( c )
    A.观察者角色的更新是被动的。
    B.被观察者可以通知观察者进行更新
    C.观察者可以改变被观察者的状态,再由被观察者通知所有观察者依据被观察者的状态进行。
    D.以上表述全部错误。

17.对于违反里式代换原则的两个类,可以采用的候选解决方案错误的是:( d )
    A.创建一个新的抽象类C,作为两个具体类的超类,将A 和B 共同的行为移动到C 中,从而解决A和B 行为不完全一致的问题。
    B.将B到A的继承关系改组成委派关系。
    C.区分是“IS-a”还是”Has-a”。如果是“Is-a”,可以使用继承关系,如果是”Has-a”应该改成委派关系
    D.以上方案错误

18.对象组合的有点表述不当的是( d )
    A. 容器类仅能通过被包含对象的接口来对其进行访问。
    B. “黑盒”复用,封装性好,因为被包含对象的内部细节对外是不可见。
    C. 通过获取指向其它的具有相同类型的对象引用,
        可以在运行期间动态地定义(对象的)组合
    D.造成极其严重的依赖关系。

19.关于继承表述错误的是:( d )
    A.继承是一种通过扩展一个已有对象的实现,从而获得新功能的复用方法。
    B.泛化类(超类)可以显式地捕获那些公共的属性和方法。特殊类(子类)则通过附加属性和方法来进行实现的扩展。
    C.破坏了封装性,因为这会将父类的实现细节暴露给子类。
    D.继承本质上是“白盒复用”,对父类的修改,不会影响到子类。

20.对于依赖倒转的表述错误的是( e )
    A.依赖于抽象而不依赖于具体,也就是针对接口编程。
    B.依赖倒转的接口并非语法意义上的接口,而是,一个类对其他对象进行调用时,所知道的方法集合。
    C.从选项B的角度论述,一个对象可以有多个接口。
    D.实现了同一接口的对象,可以在运行期间,顺利地进行替换。而且不必知道所示用的对象是那个实现类的实例。
    E.此题没有正确答案。

21.面向对象的六条基本原则包括:开闭原则,里式代换原则,合成聚合原则以及
        (依赖倒转),(迪米特法则),(单一原则),(接口隔离?)。

22.在存在继承关系的情况下,方法向(超类)方向集中,而数据向(子类)方向集中。

23.适配器模式,分为类的适配器和对象的适配器两种实现。
        其中类的适配器采用的是(继承)关系,而对象适配器采用的是(组合聚合)关系。

24.设计模式的基本要素有(名字 ),(意图 ),(问题 ),( 解决方案 ),(参与者与协作者 ),( 实现),(一般性结构)。

25.创立型模式的根本意图是要把(对象的创建)和(使用分离)的责任进行分离,从而降低系统的(耦合度)。

26.工厂模式分为(简单工厂),(工厂方法),(抽象工厂)三种类型

27.门面模式是(迪米特)法则的典型运用

28.MVC模型的基本工作原理是基于(观察者)模式,实现是基于(命令)模式

29.设计模式的思想根源是(开闭)基本原则的宏观运用,本质上是没有任何模式的,
        发现模式的人永远是大师,而死守模式的人,最对只能是一个工匠.
分享到:
评论

相关推荐

    设计模式ppt+试题

    设计模式是是一套被反复使用、多数人知晓的、经过分类编目的、面向对象程序设计经验的总结。 设计模式之于面向对象软件开发的作用就有如数据结构之于面向过程软件开发的作用。 更快地成为一名优秀的软件开发...

    asp.net知识库

    微软的应试题完整版(附答案) 一个时间转换的问题,顺便谈谈搜索技巧 .net中的正则表达式使用高级技巧 (一) C#静态成员和方法的学习小结 C#中结构与类的区别 C#中 const 和 readonly 的区别 利用自定义属性,定义...

    《细说PHP》高洛峰

    内容涵盖了动态网站开发的前台技术(HTML+CSS)、PHP编程语言的语法、PHP的常用功能模块和实用技巧、MySQL数据库的设计与应用、PHP面向对象的程序设计思想、数据库抽象层PDO、Smarty模板技术、Web开发的设计模式、...

    细说PHP(第2版) - 高洛峰

    内容涵盖了动态网站开发的前台技术(HTML+CSS)、PHP编程语言的语法、PHP的常用功能模块和实用技巧、MySQL数据库的设计与应用、PHP面向对象的程序设计思想、数据库抽象层PDO、Smarty模板技术、Web开发的设计模式、...

    细说PHP(第2版)

    内容涵盖了动态网站开发的前台技术(HTML+CSS)、PHP编程语言的语法、PHP的常用功能模块和实用技巧、MySQL数据库的设计与应用、PHP面向对象的程序设计思想、数据库抽象层PDO、Smarty模板技术、Web开发的设计模式、...

    毕业设计-基于SSM的英语学习网站的设计与实现-设计与实现(源码 + LW + 演示视频).zip

    本论文系统地描绘了整个网上英语学习网站的设计与实现,主要实现的功能有以下几点:首页、个人中心、用户管理、教师管理、学习视频管理、英语类型管理、词汇单词管理、听力学习管理、试题管理、学习论坛、试卷管理、...

    在线考试系统设计与开发(课程设计).doc

    最后,对J2EE技术" "做了一个总结性的展望,认为该技术有着良好的发展空间和广阔的前景。 " 1 引言 现阶段,学校与社会上的各种考试大都采用传统的考试方式,在此方式下,组织一次 考试至少要经过五个步骤,即出卷、...

    细说PHP(第二版)(电子书 文字版 完整版)高洛峰

    内容涵盖了PHP的运行环境搭建、Web服务器Apache的配置与应用、动态网站开发的前台技术、PHP编程语言的语法、PHP的常用功能模块和实用技巧、MySQL数据库的设计与应用、PHP 5面向对象的程序设计思想、Web开发的设计...

    基于asp.net的驾照考试系统设计(源码+数据库+文档).zip

    借助遍布全球的Internet进行基于Web技术的网络考试,让考试既可以在本地进行,也可以在异地进行,这大大拓展了考试的灵活性。本文论述的考试系统是基于Web应用程序的,它是基于B/S模式的机动车驾照理论考试模拟系统...

    跟兄弟连学PHP.part2.rar

    内容涵盖了动态网站开发的前端技术(HTML5)、企业现在主流应用版本PHP 5.4为主的语法、PHP的常用功能...设计模式、自定义PHP技术框架最新版BroPHP 2.0、重新开发包括完整流程的极具参考价值的Web项目(BroShop)等内容...

    跟兄弟连学PHP.pdf下载地址

    内容涵盖了动态网站开发的前端技术(HTML5)、企业现在主流应用版本PHP 5.4为主的语法、PHP的常用功能...设计模式、自定义PHP技术框架最新版BroPHP 2.0、重新开发包括完整流程的极具参考价值的Web项目(BroShop)等内容...

    基于J2EE架构的在线考试系统(源代码+论文+开题报告+外文翻译+英文文献+答辩PPT).zip

    最后,对J2EE技术做了一个总结性的展望,认为该技术有着良好的发展空间和广阔的前景。 关键词:J2EE,在线考试系统,b/s,JavaBean,jsp,数据池 1 引言 现阶段,学校与社会上的各种考试大都采用传统的考试方式,在...

    芒果网络考试系统 v4.8.3.zip

    系统设计了“考试”、“练习”两种测试模式,在练习模式下,会优先从考生的错题库中出题,考生也可以查阅老师的试题解析。 6、功能完善的考生终端 考生终端不仅是考生参与考试的工具,也是考生查询成绩、查阅判卷...

    大数据仓库与大数据挖掘课程教学设计.doc

    数据挖掘操作 4 4.1数据预处理 4 4.1.1描述性数据汇总 4 4.2决策树 4 5、实验心得 12 6、大总结 12 绪论 1.1项目背景 在现在大数据时代,各行各业需要对商品及相关关节的数据进行收集处理,尤其零售 行业,于企业对...

    在线考试系统文献综述

    从设计方案的提出,经过详细的调查,分析了方案的可行性和必要性,通过详细的系统设计,力图提高系统的集成性和快捷性;并在系统实施阶段收集了大量的实验数据,以便测试阶段系统的准确性和稳定性。 系统整体是基于...

    大数据面试题.pdf

    反射有三种获取的⽅式,分别是:forName / getClass / 直接使⽤class⽅式 使⽤反射可以获取类的实例 1-6)列出⾄少五种设计模式 设计⽅式有⼯⼚法,懒加载,观察者模式,静态⼯⼚,迭代器模式,外观模式、、、、 1-...

    python入门到高级全栈工程师培训 第3期 附课件代码

    04 Python 基础知识练习题试题 第12章 01 今日内容介绍以及基础测试题答案讲解 02 Python 列表的魔法 03 Python 元组的魔法 04 Python 字典的魔法 05 Python 错误更正:布尔值可以作为字典的key 06 Python 今日...

    WAN综合实验-7.pka

    由于分支路由器(B1、B2 和 B3)和交换机在设计时考虑了可扩展性,因此您可以重复利用配置脚本。例如,适用于 B1、B1-S1、B1-S2 和 B1-S3 的配置只需稍作调整即可直接应用于 B2。 注:本 CCNA 综合技巧练习还有一种...

Global site tag (gtag.js) - Google Analytics