niusouti.com

请根据下面叙述的场景选用适当的设计模式。若某面向对象系统中的某些类有且只有一个实例,那么采用(请作答此空)设计模式能够有效达到该目的:该系统中的某子模块需要为其他模块提供访问不同数据库系统(如Oracle、SQL Server和DB2 UDB等)的功能,这些数据库系统提供的访问接口有一定的差异,但访问过程却都是相同的,例如,先连接数据库、再打开数据库、最后对数据进行查询,( )设计模式可抽象出相同的数据库访问过程;系统中的文本显示类(TextView)和图片显示类(Picture View)都继承了组件类

题目
请根据下面叙述的场景选用适当的设计模式。若某面向对象系统中的某些类有且只有一个实例,那么采用(请作答此空)设计模式能够有效达到该目的:该系统中的某子模块需要为其他模块提供访问不同数据库系统(如Oracle、SQL Server和DB2 UDB等)的功能,这些数据库系统提供的访问接口有一定的差异,但访问过程却都是相同的,例如,先连接数据库、再打开数据库、最后对数据进行查询,( )设计模式可抽象出相同的数据库访问过程;系统中的文本显示类(TextView)和图片显示类(Picture View)都继承了组件类(Component),分别显示文本和图片内容,现需要构造带有滚动条、或者带有黑色边框、或者既有滚动条又有黑色边框的文本显示控件和图片显示控件,但希望最多只增加三个类,( )计模式可以实现该目的。

A.外观
B.装饰
C.单件
D.模板方法

相似考题
参考答案和解析
答案:C
解析:
本题考查设计模式的基本应用。
面向对象系统中的某些类有且只有一个实例,该场景的描述与单件模式的定义相同。系统中的某子模块需要为其他模块提供访问不同数据库系统(如Oracle、SQL Server和DB2 UDB等),的功能,这些数据库系统提供的访问接口有一定的差异,但访问过程却都是相同的,例如,先连接数据库,再打开数据库,最后对数据进行查询,该场景描述了对数据库进行操作的步骤是相同的。但是,具体的每个步骤根据不同的数据库系统会存在一定差异,例如数据库提供的接口函数不同,模板方法正是将步骤过程抽象出来,而每个具体操作步骤的差异留到具体的子类去实现。系统中的文本显示类(TextView)和图片显示类(Picture View)都继承了组件类(Component),分别显示文本和图片内容,现需要构造带有滚动条、或者带有黑色边框、或者既有滚动条又有黑色边框的文本显示控件和图片显示控件,但希望最多只增加三个类,该场景限定了能够增加的类的数量。可以通过新增加三个类,分别继承组件类并实现给组件增加黑色边框、滚动条以及增加黑色边框和滚动条功能,因为文本显示类和图片显示类都属于组件类,因此,新增加的三个类能够给文本显示对象和图片显示对象增加额外的显示功能,该实现手段采用的就是装饰模式。
更多“请根据下面叙述的场景选用适当的设计模式。若某面向对象系统中的某些类有且只有一个实例,那么采用(请作答此空)设计模式能够有效达到该目的:该系统中的某子模块需要为其他模块提供访问不同数据库系统(如Oracle、SQL Server和DB2 UDB等)的功能,这些数据库系统提供的访问接口有一定的差异,但访问过程却都是相同的,例如,先连接数据库、再打开数据库、最后对数据进行查询,( )设计模式可抽象出相”相关问题
  • 第1题:

    数据库系统的三级模式结构包括外模式、概念模式和内模式。设计数据库系统模式时,应首先确定的模式是【 】。


    正确答案:概念模式 或 逻辑模式
    概念模式 或 逻辑模式 解析:本题考查数据库设计的相关概念。在数据库三级模式结构中,数据库模式即全局逻辑结构(概念模式),是数据库核心与关键,它独立于数据库的其他层次。因此设计数据库模式结构时应首先确定数据库的逻辑模式,也就是数据库概念模式 (逻辑模式)。本题正确答案为概念模式或逻辑模式。

  • 第2题:

    请根据下面叙述的场景选用适当的设计模式。若某面向对象系统中的某些类有且只有一个实例,那么采用(42)设计模式能够有效达到该目的;该系统中的某子模块需要为其他模块提供访问不同数据库系统(Oracle、SQLServer、DB2UDB等)的功能,这些数据库系统提供的访问接口有一定的差异,但访问过程却都是相同的,例如,先连接数据库,再打开数据库,最后对数据进行查询,(43)设计模式可抽象出相同的数据库访问过程;系统中的文本显示类(TextView)和图片显示类(PictureView)都继承了组件类(Component),分别显示文本和图片内容,现需要构造带有滚动条、或者带有黑色边框、或者既有滚动条又有黑色边框的文本显示控件和图片显示控件,但希望最多只增加三个类,(44)设计模式可以实现该目的。

    A.外观

    B.装饰

    C.单件

    D.模板方法


    正确答案:C

  • 第3题:

    数据库系统从外到内依次分为外模式、模式和内模式三级抽象模式是为了保持数据库的 ( )。

    A.模块结构化

    B.数据安全性

    C.数据独立性

    D.访问控制性


    正确答案:C
    解析:数据库系统的三级模式是对数据的3个抽象级别,数据库管理系统在这三级模式之间提供了两层映像:外模式/模式映像和模式/内模式映像,从而保证数据库系统中数据具有较高的逻辑独立性和物理独立性,即数据的独立性。

  • 第4题:

    数据库的产品很多,尽管它们支持的数据模型不同,使用不同的数据库语言,而且数据 的在储结构也各不相同,但体系统构基本上都具有相同的特征,采用“三级模式和两级映像”,如下图所示,图中①,②,③分别代表数据库系统中( ),图中④, ⑤,⑥分别代表数据库系统中(请作答此空)。

    A.外模式/内模式映射、外模式内模式映射、概念模式内模式映射
    B.外模式概念模式映射、外模式/概念模式映射、概念模式/内模式映射
    C.概念模式/内模式映射、概念模式/内模式映射、外模式内模式映射
    D.外模式/内模式映射、外模式内模式映射、概念模式/外模式映射

    答案:B
    解析:
    数据库通常采用三级模式结构,其中,视图对应外模式、基本表对应模式、存储文件对应内模式。数据的独立性是由DBMS的二级映像功能来保证的。数据的独立性包括数据的物理独立性和数据的逻辑独立性。数据的物理独立性是指当数据库的内模式发生改变时,数据的逻辑结构不变。为了保证应用程序能够正确执行,需要通过修改概念模式与内模式之间的映像。数据的逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的。数据的逻辑结构发生变化后,用户程序也可以不修改。但是,为了保证应用程序能够正确执行,需要修改外模式与概念模式之间的映像。

  • 第5题:

    请根据下面叙述的场景选用适当的设计模式。若某面向对象系统中的某些类有且只有一个实例,那么采用( )设计模式能够有效达到该目的:该系统中的某子模块需要为其他模块捉供访问不同数据库系统(如Oracle、SQL Server和DB2 UDB等)的功能,这些数据库系统提供的访问接口有一定的差异,但访问过程却都是相同的,例如,先连接数据库、再打开数据库、最后对数据进行查询,( )设计模式可抽象出相同的数据库访问过程;系统中的文本显示类(TextView)和图片显示类(Picture View)都继承了组件类(Component),分别显示文本和图片内容,现需要构造带有滚动条、或者带有黑色边框、或者既有滚动条又有黑色边框的文本显示控件和图片显示控件,但希望最多只增加三个类,(请作答此空)设计模式可以实现该目的。

    A.外观
    B.装饰
    C.单件
    D.模板方法

    答案:B
    解析:
    本题考查设计模式的基本应用。
    面向对象系统中的某些类有且只有一个实例,该场景的描述与单件模式的定义相同。系统中的某子模块需要为其他模块提供访问不同数据库系统(如Oracle、SQL Server和DB2 UDB等),的功能,这些数据库系统提供的访问接口有一定的差异,但访问过程却都是相同的,例如,先连接数据库,再打开数据库,最后对数据进行查询,该场景描述了对数据库进行操作的步骤是相同的。但是,具体的每个步骤根据不同的数据库系统会存在一定差异,例如数据库提供的接口函数不同,模板方法正是将步骤过程抽象出来,而每个具体操作步骤的差异留到具体的子类去实现。系统中的文本显示类(TextView)和图片显示类(Picture View)都继承了组件类(Component),分别显示文本和图片内容,现需要构造带有滚动条、或者带有黑色边框、或者既有滚动条又有黑色边框的文本显示控件和图片显示控件,但希望最多只增加三个类,该场景限定了能够增加的类的数量。可以通过新增加三个类,分别继承组件类并实现给组件增加黑色边框、滚动条以及增加黑色边框和滚动条功能,因为文本显示类和图片显示类都属于组件类,因此,新增加的三个类能够给文本显示对象和图片显示对象增加额外的显示功能,该实现手段采用的就是装饰模式。

  • 第6题:

    下面的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对象其自身的状态变化。

  • 第7题:

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

    A.桥接
    B.策略
    C.抽象工厂
    D.观察者

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

  • 第8题:

    请根据下面叙述的场景选用适当的设计模式。若某面向对象系统中的某些类有且只有一个实例,那么采用( )设计模式能够有效达到该目的:该系统中的某子模块需要为其他模块捉供访问不同数据库系统(如Oracle、SQL Server和DB2 UDB等)的功能,这些数据库系统提供的访问接口有一定的差异,但访问过程却都是相同的,例如,先连接数据库、再打开数据库、最后对数据进行查询,(请作答此空)设计模式可抽象出相同的数据库访问过程;系统中的文本显示类(TextView)和图片显示类(Picture View)都继承了组件类(Component),分别显示文本和图片内容,现需要构造带有滚动条、或者带有黑色边框、或者既有滚动条又有黑色边框的文本显示控件和图片显示控件,但希望最多只增加三个类,( )计模式可以实现该目的。

    A.外观
    B.装饰
    C.单件
    D.模板方法

    答案:D
    解析:
    本题考查设计模式的基本应用。
    面向对象系统中的某些类有且只有一个实例,该场景的描述与单件模式的定义相同。系统中的某子模块需要为其他模块提供访问不同数据库系统(如Oracle、SQL Server和DB2 UDB等),的功能,这些数据库系统提供的访问接口有一定的差异,但访问过程却都是相同的,例如,先连接数据库,再打开数据库,最后对数据进行查询,该场景描述了对数据库进行操作的步骤是相同的。但是,具体的每个步骤根据不同的数据库系统会存在一定差异,例如数据库提供的接口函数不同,模板方法正是将步骤过程抽象出来,而每个具体操作步骤的差异留到具体的子类去实现。系统中的文本显示类(TextView)和图片显示类(Picture View)都继承了组件类(Component),分别显示文本和图片内容,现需要构造带有滚动条、或者带有黑色边框、或者既有滚动条又有黑色边框的文本显示控件和图片显示控件,但希望最多只增加三个类,该场景限定了能够增加的类的数量。可以通过新增加三个类,分别继承组件类并实现给组件增加黑色边框、滚动条以及增加黑色边框和滚动条功能,因为文本显示类和图片显示类都属于组件类,因此,新增加的三个类能够给文本显示对象和图片显示对象增加额外的显示功能,该实现手段采用的就是装饰模式。

  • 第9题:

    按照设计模式的目的进行划分,现有的设计模式可以分为三类。其中创建型模式通过采用抽象类所定义的接口,封装了系统中对象如何创建、组合等信息,其代表有(请作答此空 )模式等;( )模式主要用于如何组合己有的类和对象以获得更大的结构,其代表有 Adapter 模式等;( )模式主要用于对象之间的职责及其提供服务的分配方式,其代表有( )模式等。


    A. Decorator
    B. Fly weight
    C. Command
    D.Singleton


    答案:D
    解析:
    按照设计模式的目的进行划分,现有的设计模式可以分为三类。创建型模式通过采用抽象类所定义的接口,封装了系统中对象如何创建、组合等信息,其代表有Singleton模式等;结构型模式主要用于如何组合己有的类和对象以获得更大的结构,其代表有 Adapter 模式等;行为型模式主要用于对象之间的职责及其提供服务的分配方式,其代表有Visitor模式等。

  • 第10题:

    按照设计模式的目的进行划分,现有的设计模式可以分为三类。其中创建型模式通过采用抽象类所定义的接口,封装了系统中对象如何创建、组合等信息,其代表有( )模式等;( )模式主要用于如何组合己有的类和对象以获得更大的结构,其代表有 Adapter 模式等;(请作答此空 )模式主要用于对象之间的职责及其提供服务的分配方式,其代表有( )模式等。

    A. 行为型
    B. 交互型
    C. 耦合性
    D. 关联型

    答案:A
    解析:
    按照设计模式的目的进行划分,现有的设计模式可以分为三类。创建型模式通过采用抽象类所定义的接口,封装了系统中对象如何创建、组合等信息,其代表有Singleton模式等;结构型模式主要用于如何组合己有的类和对象以获得更大的结构,其代表有 Adapter 模式等;行为型模式主要用于对象之间的职责及其提供服务的分配方式,其代表有Visitor模式等。

  • 第11题:

    下列关于Oracle数据库系统的叙述中,哪一个是不正确的?()

    • A、一个Oracle数据库系统主要由Oracle服务器和工具组成
    • B、Oracle服务器支持SQL语言
    • C、Oracle实例指的是数据库存储数据的集合
    • D、Oracle数据库系统能支持对象—关系数据模型

    正确答案:A

  • 第12题:

    单选题
    若系统中的某子模块需要为其它模块提供访问不同数据库系统(Oracle、SQLServer、DB2UDB等)的功能,这些数据库系统提供的访问接口有一定的差异,但访问过程却都是相同的,例如,先连接数据库,再打开数据库,最后对数据进行查询,()设计模式可抽象出相同的数据库访问过程。
    A

    外观

    B

    装饰

    C

    单件

    D

    模板方法


    正确答案: D
    解析: 暂无解析

  • 第13题:

    ● 下面给出了四种设计模式的作用: 外观(Fa?ade) :为子系统中的一组功能调用提供一个一致的接口,这个接口使得这一子系统更加容易使用; 装饰(Decorate):当不能采用生成子类的方法进行扩充时,动态地给一个对象添加一些额外的功能; 单件(Singleton) :保证一个类仅有一个实例,并提供一个访问它的全局访问点; 模板方法(Template Method) :在方法中定义算法的框架,而将算法中的一些操作步骤延迟到子类中实现。 请根据下面叙述的场景选用适当的设计模式。若某面向对象系统中的某些类有且只有一个实例,那么采用(30) 设计模式能够有效达到该目的;该系统中的某子模块需要为其他模块提供访问不同数据库系统(Oracle、SQL Server、DB2 UDB 等)的功能,这些数据库系统提供的访问接口有一定的差异,但访问过程却都是相同的,例如,先连接数据库、再打开数据库、最后对数据进行查询,(31) 设计模式可抽象出相同的数据库访问过程;系统中的文本显示类(TextView)和图片显示类(PictureView)都继承了组件类(Component),分别显示文本和图片内容,现需要构造带有滚动条、或者带有黑色边框、或者既有滚动条又有黑色边框的文本显示控件和图片显示控件,但希望最多只增加三个类,(32) 设计模式可以实现该目的。

    (30)A. 外观 B. 装饰 C. 单件 D. 模板方法

    (31)A. 外观 B. 装饰 C. 单件 D. 模板方法

    (32)A. 外观 B. 装饰 C. 单件 D. 模板方法


    正确答案:C,D,B


  • 第14题:

    下面对Oracle数据库系统的叙述中,哪种是不正确的? ( )

    A.Oracle数据库由三种大型的文件组成:数据文件,日志文件和控制文件

    B.Oracle系统中的进程分为Oracle进程和用户进程

    C.Oracle数据库打开步骤为:启动实例,装配数据库,打开数据库:数据库的关闭步骤为:关闭数据库,卸下数据库,关闭实例

    D.OracleDesigner/2000是一个CASE工具,能帮助用户对复杂系统进行建模、分析和设计


    正确答案:C
    解析:Oracle数据库的打开过程为:启动实例,装配数据库,打开数据库,关闭数据库的步骤为关闭数据库,卸下数据库,此时实例仍然保存在内存中。

  • 第15题:

    ● 下面给出了四种设计模式的作用:

    外观(Facade):为子系统中的一组功能调用提供一个一致的接口,这个接口使得这一子系统更加容易使用

    装饰(Decorate):当不能采用生成子类的方法进行扩充时,动态地给一个对象添加一些额外的功能;

    单件(Singleton) :保证一个类仅有一个实例,并提供一个访问它的全局访问点;

    模板方法(Template Method):在方法中定义算法的框架,而将算法中的一些操作步骤延迟到子类中现。请根据下面叙述的场景选用适当的设计模式。若某面向对象系统中的某些类有且只有一个实例,那么采用(42)设计模式能够有效达到该目的;该系统中的某子模块需要为其它模块提供访问不同数据库系统(Oracle、SQL Server、DB2 UDB 等)的功能,这些数据库系统提供的访问接口有一定的差异,但访问过程却都是相同的,例如,先连接数据库,再打开数据库,最后对数据进行查询,(43) 设计模式可抽象出相同的数据库访问过程;系统中的文本显示类(TextView)和图片显示类(PictureView)都继承了组件类

    (Component),分别显示文本和图片内容,现需要构造带有滚动条、或者带有黑色边框、或者既有滚动条又有黑色边框的文本显示控件和图片显示控件,但希望最多只增加三个类,(44)设计模式可以实现该目的。

    (42)A. 外观 B. 装饰 C. 单件 D. 模板方法

    (43)A. 外观 B. 装饰 C. 单件 D. 模板方法

    (44)A. 外观 B. 装饰 C. 单件 D. 模板方法


    正确答案:C,D,B

  • 第16题:

    创建型设计模式抽象了实例化过程,它分为面向类和面向对象两种。其中,( )模式是保证一个类仅有一个实例,并提供一个访问它的全局访问点。

    A.工厂(Factory)
    B.构建器(Builder)
    C.原型(Prototype)
    D.单例(Singleton)

    答案:D
    解析:
    单例模式有以下特点:1、单例类只能有一个实例。2、单例类必须自己创建自己的唯一实例。3、单例类必须给所有其他对象提供这一实例。单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。在计算机系统中,线程池、缓存、日志对象、对话框、打印机、显卡的驱动程序对象常被设计成单例。这些应用都或多或少具有资源管理器的功能。每台计算机可以有若干个打印机,但只能有一个Printer Spooler,以避免两个打印作业同时输出到打印机中。每台计算机可以有若干通信端口,系统应当集中管理这些通信端口,以避免一个通信端口同时被两个请求同时调用。总之,选择单例模式就是为了避免不一致状态,避免政出多头。

  • 第17题:

    下图是( )设计模式的类图,该设计模式的目的是(请作答此空),图中,Abstraction和RefinedAbstraciton之间是( )关系,Abstraction和Implementor之间是( )关系。


    A.将一个类的接口转换为客户期望的另一种接口,使得原本不匹配的接口而无法合作的类可以一起工作
    B.将一个抽象与其实现分离开,以便两者能够各自独立地演变
    C.动态地给一个对象附加额外的职责,不必通过子类就能灵活地增加功能
    D.为一个对象提供代理以控制该对象的访问

    答案:B
    解析:
    适配器模式:将一个类的接口适配成用户所期待的。一个适配允许通常因为接口不兼容而不能在一起工作的类工作在一起,做法是将类自己的接口包裹在一个已存在的类中。桥接模式:将抽象部分与它的实现部分分离,使它们都可以独立地变化。装饰模式:指的是在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。代理模式:为一个对象提供代理以控制该对象的访问。类之间的关系主要有以下几种:(1)继承关系:是指子类自动地具有其父类的全部属性与操作,也称为父类对子类的泛化。在UML建模语言中,采用空心三角形表示,从子类指向父类。(2)关联关系:是指两个或多个类之间的一种静态关系,表现为一个类是另一个类的成员变量。在UML类图中,用实线连接有关联的对象所对应的类。(3)聚合关系:是整体与部分之间的关系,是强的关联关系。在UML中,聚合关系用带空心菱形的实心线,菱形指向整体。(4)依赖关系:也是类之间的一种静态关系,表现为一个类是另外一个类的局部变量。在UML中,依赖关系用带箭头的虚线表示,由依赖的一方指向被依赖的一方。

  • 第18题:

    若系统中的某子模块需要为其他模块提供访问不同数据库系统的功能,这些数据库系统提供的访问接口有一定的差异,但访问过程却都是相同的,例如,先连接数据库,再打开数据库,最后对数据进行查询。针对上述需求,可以采用(请作答此空)设计模式抽象出相同的数据库访问过程,该设计模式( )。

    A.外观
    B.装饰
    C.桥接
    D.享元

    答案:A
    解析:
    外观(fagade)模式是对象的结构模式,要求外部与一个子系统的通信必须通过一个统一的外观对象进行,为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用

  • 第19题:

    下图是( )设计模式的类图,该设计模式的目的是(请作答此空),图中,Decorator和Component之间是( )关系,ConcreteDecorator和Decorator之间是( )关系。

    A.将一个类的接口转换为客户期望的另一种接口,使得原本因接口不匹配而无法合作的类可以一起工作
    B.将一个抽象与其实现分离开,以便两者能够各自独立地演变
    C.为一个对象提供代理以控制该对象的访问
    D.动态地给一个对象附加额外的职责,不必通过子类就能灵活地增加功能

    答案:D
    解析:
    图中Component定义一个对象接口,可以给这些对象动态地添加职责ConcreteComponent定义一个对象,可以给这个对象添加一些职责Decorator维持一个指向Compnonent对象的指针,并定义一个与Component接口-致的接口ConcreateDecorator向组件添加职责装饰(Decorator)模式适应于:在不影响其它对象的情况下,以动态、透明的方式给单个对象添加职责;处理那些可以撤销的职责;当不能采用生成子类的方式进行扩充时Decorator和Component之间应为关联与实现关系ConcreteDecorator和Decorator之间是继承(泛化)关系

  • 第20题:

    若系统中的某子模块需要为其他模块提供访问不同数据库系统的功能,这些数据库系统提供的访问接口有一定的差异,但访问过程却都是相同的,例如,先连接数据库,再打开数据库,最后对数据进行查询。针对上述需求,可以采用( )设计模式抽象出相同的数据库访问过程,该设计模式(请作答此空)。

    A.可以动态、透明地给单个对象添加职责
    B.为子系统定义了一个高层接口,这个接口使得这一子系统更加容易使用
    C.通过运用共享技术,有效支持大量细粒度的对象
    D.将抽象部分与它的实现部分分离,使它们都可以独立地变化

    答案:B
    解析:
    外观(fagade)模式是对象的结构模式,要求外部与一个子系统的通信必须通过一个统一的外观对象进行,为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用

  • 第21题:

    试题四 (共 2S 分)阅读以下关于数据库设计的叙述,在答题纸上回答问题 1 至问题 3。【说明】某制造企业为拓展网上销售业务,委托某软件企业开发一套电子商务网站。初期仅解决基本的网上销售、订单等功能需求。该软件企业很快决定基于.NET 平台和 SQL Server 数据库进行开发,但在数据库访问方式上出现了争议。王工认为应该采用程序在线访问的方式访问数据库:而李工认为本企业内部程序员缺乏数据库开发经验,而且应用筒单,应该采用 ORM<对象关系映射>方式。最终经过综合考虑,该软件企业采用了李工的建议。随着业务的发展,该电子商务网站逐渐发展成一个通用的电子商务平台,销售多家制造企业的产品,电子商务平台的功能也日益复杂。目前急需对该电子商务网站进行改造,以支持对多种异构数据库平台的数据访问,同时满足复杂的数据管理需求。该软件企业针对上述需求,对电子商务网站的架构进行了重新设计,新增加了数据访问层,同时采用工厂设计模式解决异构数据库访问的问题。新设计的系统架构如图 4-1 所示。

    【问题 1】 (9 分)请用 300 字以内的文字分别说明数据库程序在线访问方式和 ORM 方式的优缺点,说明该软件企业采用 ORM 的原因。
    【问题 2】 (9 分)请用 100 宇以内的文字说明新体系架构中增加数据访问层的原因。请根据图 4-1 所示,填写图中空白处(1) - (3)。【问题 3】 (7 分) -应用程序设计中,数据库访问需要良好的封装性和可维护性,因此经常使用工厂设计模式来实现对数据库访问的封装。请解释工厂设计模式,并说明其优点和应用场景: 请解释说明工厂模式在数据访问层中的应用。请用 100 宇以内的文字说明新体系架构中增加数据访问层的原因。请根据图 4-1 所示,填写图中空白处(1) - (3)。


    答案:
    解析:
    数据库程序在线访问方式优点:1. 性能比直接SQL好;2. 可以处理复杂的查询语句。数据库程序在线访问方式不足:1. 程序员必须懂SQL语句;2. 修改维护相对困难。 ORM方式优点:1. 降低学习和开发成本;2. 程序员不用再写SQL进行数据库操作;3. 减少程序代码量;4. 降低由于SQL代码质量差带来的影响。 ORM方式缺点:1. 性能比直接用SQL差2. 处理复杂查询比较困难。 采用ORM原因:(1)缺乏数据库开发经验,因此SQL语句编写质量有潜在风险;(2)学习成本高;(3)应用比较简单,没有太复杂功能。参考答案:(1)涉及多种异构数据库平台,数据访问复杂性增加,不宜与业务逻辑混合在一起;(2)数据管理变复杂之后,需要使用代码量增加,分层次有利于逻辑更加清晰,程序维护更加方便;(3)业务逻辑应以相同的方式应对异构数据库,为了做好隐蔽性需要单独设计数据访问层。 (1)~(3)分别填入:执行业务逻辑 、工厂层(factory)、数据访问接口层。工厂模式分为:抽象工厂和工厂方法,本题为抽象工厂设计模式。抽象工厂设计模式提供一个接口,可以创建一系列或相互依赖的 对象,而无需指定他们具体的类。优点:方便创建一系列的对象,其使用场景也是创建系列对象的情况。该题目中,可以针对oracle,mysql,sqlserver分别抽象建立抽象工厂,若指定当前工厂为oracle工厂,则创建出来的数据库连接,数据集等一系列对象都是符合oracle操作要求的,这样便于数据库之间的切换。

  • 第22题:

    数据库系统通常提供授权功能来控制不同用户访问数据的权限,这主要为了实现数据库的()


    正确答案:安全性

  • 第23题:

    下列关于SQL Server 2000安全性的指述正确的是()

    • A、SQL Server 2000的安全性分为两个级别:实例级和数据库级
    • B、SQL Server 2000的安全性分为三个级别:实例级.数据库级和数据库对象级
    • C、—个帐号能访问数据库,就一定可以访问该数据库中的所有对象
    • D、—个账号能访问实例,就一定也能访问这个实例下面的数据库

    正确答案:B