• 设计模式复习题


    1.选择题

    1.在观察者模式中,表述错误的是(C )C.观察者可以改变被观察者的状态,再由被观察者通知所有观察者依据被观察者的状态进行。
    2.对于违反里式代换原则的两个类,可以采用的候选解决方案错误的是: ( D )D.以上方案错误
    3.下列模式属于结构型设计模式的是(AB ) A. Composite B. 享元(Flyweight〉模式
    4.关于继承表述错误的是: ( D ) D.继承本质上是“白盒复用”,对父类的修改,不会影响到子类。
    5.对于依赖倒转的表述错误的是©C.从选项B的角度论述,一个对象可以有多个接口。
    6.可以使用哪一种设计模式限制类的实例唯一 ( D )D.单体模式
    7. Java数据库连接库JDBC用到哪种设计模式(B ) B.工厂方法
    8.关于运用GOF工厂方法的效果Consequences,说法不正确的是(C)有利于产品的一致性8.在应用程序中可用哪些设计模式分离出算法?( B )B.策略模式
    9.工厂方法也称为(D)D.虚构造器
    10.可以使用哪种设计模式将抽象和实现解耦,使得抽象和实现可以独自变化? (B)桥接模式
    11.设计模式一般用来解决什么样的问题:A.同一问题的不同表相
    12.下列属于面向对象基本原则的是:C.里氏代换
    13. Open-Close 原则的含义是一个软件实体:A.应当对扩展开放,对修改关闭.
    14.当我们想创建一个具体的对象而又不希望指定具体的类时,使用(A)模式。A.创建型
    15.要依赖于抽象不要依赖于具体。即针对接口编程不要针对实现编程:(D)依赖倒转原则
    16.依据设计模式思想,程序开发史应优先使用的是(A)关系实现复用。A.委派
    17.设计模式的两大主题是(D)D.系统复思与系统扩展
    18.单体模式中,两个基本要点(AB)和单体类自己提供单例A .构造函数私有― B.唯一实19.下列模式中,属于行为模式的是(B)B观察者
    20.“不要和陌生人说话”是(D)原则的通俗表述D.迪米特
    21.以下是模式的基本要素的是(ABCD)A名称B意图C)解决方案D)参与者和协作者(2)22.常用的描述设计模式的格式有(ABCD)A)意图B)动机C)适用性D)结构
    23.以下哪些问题通过应用设计模式能够解决( AD)A指定对象的接口D设计应支持变化24.面向对象系统中功能复用的最常用技术是(AB )。A)类继承B)对象组合
    25.常用的基本设计模式可分为( A )。A)创建型、结构型和行为型
    26.以下关于创建型模式说法正确的是(A )。A)创建型模式关注的是对象的创建
    27.以下属于创建型模式的是( AC )。
    A)抽象工厂(Abstract Factory)模式C)单例(Singleton)模式
    28.( C)模式是利用一个对象,快速生成一批对象。C)原型(Prototype)模式
    29.在不破坏类封装性的基础上,使得类可以同不曾估计到的系统进行交互。主要体现在
    ( AD )。A)适配器(Adapter)模式D)桥接(Bridge)模式
    30.结构型模式中最体现扩展性的几种模式是(( C )C)装饰(Decorator)模式
    31.行为类模式使用( C )在类间分派行为。C)对象组合
    32.以下属于行为对象模式的是(ABCD ) A)模板(Template Method)模式B)迭代器
    (Iterator)模式C)命令(Command)模式D)观察者(0bserver)模式
    33.封装分布于多个类之间的行为的模式是( C )C)访问者(Visitor)模式
    34.0bserver(观察者)模式适用于©。©当一个对象必须通知其它对象,而它又不
    能假定其它对象是谁。也就是说你不希望这些对象是紧耦合的。
    35.Java的异常处理机制可理解为哪一种行为模式( C )。C)职责链(Chain of
    Responsibility)模式
    36.居民身份证号使用(单例模式)A.单例模式
    37.(单选题)在UML中,用例可以使用(A)来描述。A.活动图B.类图C.状态图D.协作图
    38.(单选题)下列关于UML叙述正确的是()。
    A. UML是一种语言,语言的使用者不能对其进行扩展
    B.UML是独立于软件开发过程的语言B
    C.UML仅是一组图形的集合
    D.UML仅适用于系统的分析与设计阶段
    38.(单选题)UML中,对象行为是通过交互来实现的,是对象间为完成某一目的而进行的—系列消息交换。消息序列可用两种图来表示,分别是( C)。(协作图又叫通信图)
    A.状态图和时序图
    B.活动图和协作图
    C.时序图和协作图
    D.状态图和活动图

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    2.简答题

    1.什么是设计模式?设计模式目标是什么?
    答:设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解,保证代码可靠性。
    2.设计模式中一般都遵循的原则有什么?
    答:开闭原则、根据场景进行设计原则、优先组合原则、包容变化原则“Gang of Four”针3.对“创建优秀面向对象设计”建议了哪些策略?
    答:针对接口编程、优先使用对象组合而不是类继承,找到并封装变化点。
    4.面向对象系统中功能复用的两种最常用技术是什么?
    答:类继承和对象组合,类继承允许你根据其他类的实现来定义一个类的实现。父类的内部细节对子类可见。类继承是在编译时刻静态定义的,且可直接使用,类继承可以较方便地改变被复用的实现。对象组合是类继承之外的另一种复用选择。新的更复杂的功能可以通过组装或组合对象来获得。对象组合要求被组合的对象具有良好定义的接口。
    5.只根据抽象类中定义的接口来操纵对象有什么好处?
    答: 1)客户无须知道他们使用对象的特定类型,只须对象有客户所期望的接口。
    2)客户无须知道他们使用的对象是用什么类来实现的,他们只须知道定义接口的抽象类。
    6.在MVC模型中M、V、C分别指什么?简述它们之间的关系?
    M:模型(Model),V:视图(View)C:控制Controller)
    MVC模式的目的就是实现Web系统的职能分工。Model层实现系统中的业务逻辑,通常可以用JavaBean或EJB来实现。View层用于与用户的交互,通常用JSP来实现。Controller层是Model 与View之间沟通的桥梁,它可以分派用户的请求并选择恰当的视图以用于显示,同时它也可以解释用户的输入并将它们映射为模型层可执行的操作。

  • 相关阅读:
    C++生化危机1.5源码
    Oauth2的核心概念
    pysot-master-train.py 运行记录
    【stm32】大一上学期笔记复制
    一、几种常用的设计模式
    JavaEE进阶:Spring 更简单的读取和存储对象
    如何在interface中处理DUT中的inout信号
    c语言入门---文件操作
    c++基础(十四)——继承
    Python bug: TypeError: unhashable type: ‘dict‘ or ‘list‘
  • 原文地址:https://blog.csdn.net/qq_51184727/article/details/127972158