`

设计模式总结性试题

    博客分类:
  • java
阅读更多

原文http://jnotnull.iteye.com/blog/482653

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.设计模式的思想根源是(开闭)基本原则的宏观运用,本质上是没有任何模式的,
        发现模式的人永远是大师,而死守模式的人,最对只能是一个工匠.

 

http://blog.sina.com.cn/s/blog_4686b5170100f1bn.html~type=v5_one&label=rela_prevarticle

分享到:
评论

相关推荐

    《Java设计模式》刘伟 课后习题及模拟试题答案.rar

    设计模式是经验丰富的开发者在解决常见问题时总结出的通用解决方案,是软件开发中的智慧结晶。这本书的课后习题和模拟试题旨在帮助读者巩固学习内容,加深对设计模式的理解,提升实际编程能力。 课后习题参考答案...

    《java设计模式》课后习题模拟试题解答——刘伟.zip

    Java设计模式是软件工程中的一种最佳实践,它总结了在特定场景下解决常见问题的经验,为程序员提供了可重用的解决方案。本资料“《java设计模式》课后习题模拟试题解答——刘伟.zip”主要涵盖了Java设计模式的学习与...

    《Java设计模式》模拟试题参考答案及评分标准-刘伟(20180723).pdf

    根据提供的文档信息,我们可以从这份《Java设计模式》模拟试题参考答案及评分...通过以上总结,我们不仅理解了各种设计模式的基本概念,还学习了如何在实际项目中应用这些模式,以提高代码的灵活性、可维护性和扩展性。

    设计模式试题

    设计模式,是软件工程中的一种最佳实践,它是在特定上下文中解决常见问题的经验总结。这些模式提供了可复用的解决方案,帮助开发者在面对复杂性时,能够更加高效、清晰地设计系统。设计模式的概念源于建筑学,后来被...

    软件设计师历年设计模式试题总结

    根据给定文件的信息,我们可以总结出历年软件设计师考试中...通过以上总结,可以看出设计模式对于软件开发的重要性。掌握这些设计模式不仅可以提高代码质量和可维护性,还能帮助开发者更好地应对软件开发中的各种挑战。

    设计模式ppt+试题

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

    设计模式 试题

    根据提供的文件内容,我们可以归纳出一系列有关设计模式的重要知识点,这些知识点不仅有助于理解设计模式的基本概念,还能加深对面向对象编程原则的理解。 ### 设计模式的一般用途 设计模式主要用来解决软件工程中...

    软件设计模式与体系结构(期末复习1).rar

    设计模式是在特定上下文中解决常见问题的模板,它是经验的总结,是软件设计中的一种最佳实践。常见的设计模式分为三大类:创建型模式(如单例模式、工厂方法模式、抽象工厂模式等)、结构型模式(如适配器模式、装饰...

    《JAVA设计模式》期末试题(A卷)[归纳].pdf

    《JAVA设计模式》期末试题(A卷)主要涵盖了设计模式的基础知识和应用,包括选择题、填空题、名词解释和综合问答四个部分,涉及到了多种设计模式的概念、分类、作用以及Java语言中与设计模式相关的编程原则。...

    2012年5月上半年软考【软件设计师】上午试题和下午试题试卷及答案.doc

    通过对2012年5月上半年软考软件设计师试题的分析,我们可以总结出软件设计的知识点,包括软件设计原理、软件设计方法、软件设计模式、软件测试、软件维护等。这将有助于考生更好地备战考试,提高考试通过率。

    IT行业笔试汇总(C,设计模式)

    设计模式是在软件开发过程中解决常见问题的有效方法,它们提供了经过验证的解决方案,可以帮助开发者编写出更易于维护、扩展和重用的代码。常见的设计模式包括但不限于单例模式、工厂模式、观察者模式等。例如,在...

    软件设计师试题 教程

    - 设计模式是软件开发中的最佳实践,是解决常见设计问题的经验总结。资源中包含的文档可能详细介绍了如工厂模式、单例模式、观察者模式、装饰器模式等经典设计模式,以及它们在实际项目中的应用。 - 学习设计模式...

    设计模式模板方法模式PPT学习教案.pptx

    总结来说,模板方法模式是一种在代码中定义算法结构,然后让子类在不改变整体结构的情况下重写算法中特定步骤的设计模式。它有助于我们编写出更加灵活、易于维护的代码,特别是在存在多个相似但又略有不同的类时。在...

    JAVA面向对象程序设计(期末考试试题及答案).zip

    10. **设计模式**:设计模式是解决常见编程问题的经验总结,如单例模式、工厂模式、观察者模式等,它们在实际开发中广泛应用。 期末考试试题及答案.pdf则可能包含了对以上知识点的具体应用和测试,包括选择题、填空...

    软件设计师笔记和试题

    2. **设计模式与架构**:介绍常见的设计模式(如工厂模式、单例模式、观察者模式等)及其应用场景,以及软件架构风格(如分层架构、微服务架构等)的理解和实践。 3. **编程语言与数据结构**:可能涉及到至少一种或...

    2018年软件设计师上半年下半年考试试题及详解

    在2018年的考试中,考生需要展示对软件开发过程、编程语言、系统分析、设计模式、数据结构、算法、软件工程原则以及项目管理等多个方面的深入理解和应用能力。 上半年的试题通常会测试考生的基础知识,包括但不限于...

    面向对象程序设计试题8份

    10. **设计模式**:设计模式是解决常见编程问题的经验总结,如单例模式、工厂模式、观察者模式等,这些模式在实际开发中有着广泛的应用。 通过解答这些试题,学习者可以深入理解面向对象程序设计的基本概念、原则和...

    软件设计师近三年的试题

    2. 设计模式:设计模式是解决软件设计中常见问题的经验总结,如工厂模式、单例模式、观察者模式等。试题可能要求考生识别并应用恰当的设计模式来解决问题。 3. 数据结构与算法:数据结构的选择直接影响到程序的效率...

    软件设计师 资料 试题 答案

    试题中可能要求你识别和应用设计模式,或者分析框架的优缺点。 四、编程语言与技术 软件设计师应熟练掌握至少一种编程语言,如Java、C++或Python,并了解其语法特性。此外,数据库管理、Web开发、移动应用开发等...

    软件设计师08 年下试题答案

    8. **设计模式**:常见的设计模式如工厂模式、单例模式、观察者模式等,是软件设计中提高代码复用性和可维护性的工具。 9. **软件质量保证与测试**:包括测试方法、测试策略、缺陷管理以及自动化测试工具的使用。 ...

Global site tag (gtag.js) - Google Analytics