niusouti.com

设计模式(Design Pattem)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。下面关于设计模式所倡导的基本原则的描述,错误的是()A.模块应对扩展开放,而对修改关闭B.优先使用继承,而不是组合C.要针对接口编程,而不是针对实现编程D.抽象不应该依赖于细节,细节应当依赖于抽象

题目
设计模式(Design Pattem)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。下面关于设计模式所倡导的基本原则的描述,错误的是()

A.模块应对扩展开放,而对修改关闭

B.优先使用继承,而不是组合

C.要针对接口编程,而不是针对实现编程

D.抽象不应该依赖于细节,细节应当依赖于抽象


相似考题
参考答案和解析
参考答案:B

设计模式所倡导的基本原则如下。
①开闭原则:一个软件实体应当对扩展开放,对修改关闭。在设计一个模块时,应当使这个模块可以在不被修改的情况下被扩展。关键在于抽象,抽象层要预见所有可能的扩展,因此,抽象层在任何扩展情况下都不会改变,即对修改关闭。同时,由于从抽象层导出一个或多个新类,可以有不同的实现,改变系统的行为,此即为对扩展开发。简而言之,抽象层对修改关闭,通过扩展实现改变系统行为。
②里氏代换原则:任何基类可以出现的地方,子类一定可以出现。
③依赖原则:要依赖于抽象,而不是具体实现。也可以这样说,要针对接口编程,不要针对实现编程。④接口分离原则:应当为客户端提供尽量小的单独的接口,而不是提供大的接口。
⑤组合复用原则:要尽量使用组合,而不是继承关系达到复用目的。
⑥迪米特法则:又叫最少知识法则,就是说一个对象应当对其他对象有尽可能少的了解。

更多“设计模式(Design Pattem)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。下面关于设计模式所倡导的基本原则的描述,错误的是() ”相关问题
  • 第1题:

    论软件设计模式及其应用 软件设计模式(Software Design Pattern)是一套被反复使用的、多数人知晓的、经过分类编目的代码设计经验的总结。使用设计模式是为了重用代码以提高编码效率、增加代码的可理解性、保证代码的可靠性。软件设计模式是软件开发中的最佳实践之一,它经常被软件开发人员在面向对象软件开发过程中所采用。项目中合理地运用设计模式可以完美地解决很多问题,每种模式在实际应用中都有相应的原型与之相对,每种模式都描述了一个在软件开发中不断重复发生的问题,以及对应该原型问题的核心解决方案。

    请围绕“论软件设计模式及其应用”论题,依次从以下三个方面进行论述。 1.概要叙述你参与分析和开发的软件系统,以及你在项目中所担任的主要工作。 2.说明常用的软件设计模式有哪几类?阐述每种类型特点及其所包含的设计模式。 3.详细说明你所参与的软件系统开发项目中,采用了哪些软件设计模式,具体实施效果如何。


    正确答案:本题为模拟题原题,具体写作要求为:
    一、首先用400-600字的篇幅简要叙述作者参与开发的软件系统的概要和所担任的工作。
    二、设计模式的基本分类:
    · 创建型模式。创建型模式抽象了实例化过程,它们帮助一个系统独立于创建、组合和表示它的那些对象。创建型模式包括工厂方法、抽象工厂、生成器、原型、单例模式等。
    · 结构型模式。结构型模式涉及到如何组合类和对象以获得更大的结构。结构型模式包括适配器、桥接、组成、装饰、外观、享元、代理等。
    · 行为模式。行为模式涉及到算法和对象间职责的分配。行为模式不仅描述对象或类的模式,还描述了它们之间的通信模式。常用的行为模式有观察者、策略等。
    三、你在项目中运用了何种设计模式以及如何用此模式进行分析与设计。要紧密结合主题项目,选择1-2种设计模式进行讨论就可以了。

  • 第2题:

    下面的UML类图描绘的是( )设计模式。关于该设计模式的叙述中,错误的是(请作答此空)。

    A.该设计模式中的Observer需要维护至少一个Subject对象
    B.该设计模式中的ConcreteObserver可以绕过Subject及其子类的封装
    C.该设计模式中一个Subject对象需要维护多个Observer对象
    D.该设计模式中Subject需要通知Observer对象其自身的状态变化

    答案:B
    解析:
    本题主要考查设计模式的相关知识。
    桥接模式将抽象部分与实现部分分离,使得它们两部分可以独立地变化。
    策略模式定义一系列的算法,将每一个算法封装起来,并让它们可以相互替换。策略模式让算法独立于使用它的客户而变化。
    抽象工厂提供了一个创建一系列相关或相互依赖对象的接口,而无须指定它们具体的类。抽象工厂模式又称为Kit模式,属于对象创建型模式。
    观察者模式定义对象间的一种一对多依赖关系,使得每当一个对象改变状态,则其相关依赖对象皆得到通知并被自动更新。
    从本题给出的图我们可以判断是观察者模式,其中被观察对象(Subject),具体被观察对象(ConcreteSubject),观察者(Observer)及具体观察者(ConcreteObserver)。在本设计模式中,Observer需要维护至少一个Subject对象,一个Subject对象需要维护多个Observer对象,另外Subject需要通知Observer对象其自身的状态变化。

  • 第3题:

    设计模式是经过时间检验的经验总结,是最基本、最常用的可复用件。


    A

  • 第4题:

    设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。下面关于设计十模式所倡导的基本原则的描述,错误的是(32)。

    A.模块应对扩展开放,而对修改关闭

    B.要针对接口编程,而不是针对实现编程

    C.优先使用继承,而不是组合

    D.抽象不应该依赖于细节,细节应当依赖于抽象


    正确答案:C
    解析:选项A的“模块应对扩展开放,而对修改关闭”是设计模式所倡导的“开一闭原则”。选项B的“要针对接口编程,而不是针对实现编程”、选项D的“抽象不应该依赖于细节,细节应当依赖于抽象”是设计模式倡导的“依赖倒转原则”。设计模式倡导“合成/聚合原则”——尽量使用合成/聚合原则,少用、慎用继承,从而降低系统的耦合程度。因此选项C的说法有误。

  • 第5题:

    关于设计模式的描述不正确的是( )

    A.设计模式,包括模式名称问题目的解决方案效果实例代码和相关设计模式等基本要素
    B.根据处理范围不同设计模式分为类模式和对象模式
    C.根据目的和用途不同设计模式分为创建型模式结构型模式和行为型模式
    D.对象模式处理对象之间的关系,这些关系通过继承建立在编译的时刻就被确定下来属于静态关系

    答案:D
    解析:
    根据处理范围不同,设计模式可分为类模式和对象模式。类模式处理类和子类之间的关系,这些关系通过继承建立,在编译时刻就被确定下来,属于静态关系。所以D选择错误。