网友您好, 请在下方输入框内输入要搜索的题目:
题目内容
(请给出正确答案)
某模式将一个复杂对象的构建与其表示分离,使得同样的构建过程可以创建不同的表示。以下( )情况适合选用该模式。
①抽象复杂对象的构建步骤
②基于构建过程的具体实现构建复杂对象的不同表示
③一个类仅有一个实例
④一个类的实例只能有几个不同状态组合中的一种
①抽象复杂对象的构建步骤
②基于构建过程的具体实现构建复杂对象的不同表示
③一个类仅有一个实例
④一个类的实例只能有几个不同状态组合中的一种
A.①②
B.②③
C.③④
D.①④
B.②③
C.③④
D.①④
参考答案
参考解析
解析:实用范围
1 当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时
2 当构造过程必须允许被构造的对象有不同表示时
1 当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时
2 当构造过程必须允许被构造的对象有不同表示时
更多 “某模式将一个复杂对象的构建与其表示分离,使得同样的构建过程可以创建不同的表示。以下( )情况适合选用该模式。 ①抽象复杂对象的构建步骤 ②基于构建过程的具体实现构建复杂对象的不同表示 ③一个类仅有一个实例 ④一个类的实例只能有几个不同状态组合中的一种A.①② B.②③ C.③④ D.①④ ” 相关考题
考题
图5-6UML类图所示意的设计模式的意图是(47)。A.为特定的客户(或情况)提供特定系列的对象B.定义一系列的算法并将它们一个个封装起来,使它们可以相互替换C.将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示D.定义一个用于创建对象的接口,让子类决定实例化哪一个类
考题
创建型设计模式抽象了实例化过程,有助于系统开发者将对象的创建、组合和表示方式进行抽象。以下( )模式是创建型模式。A.组合(Composite) B.装饰器(Decorator)C.代理(Proxy) D.单例(Singleton)
考题
创建型设计模式抽象了实例化过程,帮助一个系统独立于如何创建、组合和表示它的那些对象。以下( )模式是创建型模式。A.组合(Composite) B.构建器(Builder)C.桥接(Bridge) D.策略(Strategy)
考题
模式将一个复杂对象的构建与其表示分离,使得同样的构建过程可以创 建不同的表示。以下( 47 )情况适合选用该模式。 ①抽象复杂对象的构建步骤 ②基于构建过程的具体实现构建复杂对象的不同表示 ③一个类仅有一个实例 ④一个类的实例只能有几个不同状态组合中的一种A.生成器(Builder)B.工厂方法(Factory Method)C.原型(Prototype)D.单例( Singleton)
考题
创建型设计模式与对象的创建有关,按照所用的范围分为面向类和面向对象两种。其中,( )模式是创建型类模式。A.工厂方法(Factory Method)
B.构建器(Builder)
C.原型(Prototype)
D.单例(Singleton )
考题
(请作答此空)模式定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换,使得算法可以独立于使用它们的客户而变化。以下( )情况适合选用该模式。①一个客户需要使用一组相关对象②一个对象的改变需要改变其他对象③需要使用一个算法的不同变体④许多相关的类仅仅是行为有异A.命令(Command)
B.责任链(ChainofResponsibility)
C.观察者(Observer)
D.策略(Strategy)
考题
( )模式定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换,使得算法可以独立于使用它们的客户而变化。以下(请作答此空)情况适合选用该模式。①一个客户需要使用一组相关对象②一个对象的改变需要改变其他对象③需要使用一个算法的不同变体④许多相关的类仅仅是行为有异
A.①②
B.②③
C.③④
D.①④
考题
某模式定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换,使得算法可以独立于使用它们的客户而变化。以下( )情况适合选用该模式。
①一个客户需要使用一组相关对象
②一个对象的改变需要改变其它对象
③需要使用一个算法的不同变体
④许多相关的类仅仅是行为有异A.①②
B.②③
C.③④
D.①④
考题
欲开放一个绘图软件,要求使用不同的绘图程序绘制不同的图形,该绘图软件的扩展性要求将不断扩充新的图形和新的绘图程序,以绘制直线和图形为例,得到如下图所示的类图,该设计采用( )模式将抽象部分与其实现部分分离,使它们都可以独立的变化。其中( )定义了实现类接口,该模式适用于(请作答此空)的情况,该模式属于( )模式。
A.不希望在抽象和它的实现部分之间有一个固定判定关系
B.想表示对象的部分-整体层次结构
C.想使用一个已经存在的类,而它的接口不符合要求
D.在不影响其他对象的情况下,以动态透明的方式给单个对象添加职责
考题
阅读下列说明和 C++代码,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
生成器( Builder)模式的意图是将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。图 5-1 所示为其类图。
【C++代码】
#include
#include
using namespace std;
class Product {
private:? ??
string partA, partB;
public:
Product() {?? }
? ? ?void
setPartA(const string}
???? void
setPartB(const string}
//? 其余代码省略
};
class Builder {
public:
??????? (1)?? ;
virtual void buildPartB()=0;
??????? (2)?? ;
};
class ConcreteBuilder1 : public Builder {
private:
Product*?? product;
public:
ConcreteBuilder1() {product = new Product();???? }
??? void
buildPartA() {????? (3)???? ("Component A"); }
??? void
buildPartB() {????? (4)???? ("Component B"); }
Product* getResult() { return product; }
//? 其余代码省略
};
class ConcreteBuilder2 : public Builder {? ??
/*??? 代码省略??? */
};
class Director {
private:?
Builder* builder;
public:? ?
Director(Builder* pBuilder) { builder= pBuilder;}
???? void
construct() {
? ? ? ? ? ? ? (5)???? ;? ? ?
//? 其余代码省略
????? }
//? 其余代码省略
};
int main() {
Director* director1 = new Director(new ConcreteBuilder1());?
director1->construct();? ?
delete director1;? ??
return 0;
考题
( )模式将一个复杂对象的构建与其表示分离,使得同样的构建过程可以创 建不同的表示。A.生成器(Builder)
B.工厂方法(FactoryMethod)
C.原型(Prototype)
D.单例(Singleton)
考题
欲开放一个绘图软件,要求使用不同的绘图程序绘制不同的图形,该绘图软件的扩展性要求将不断扩充新的图形和新的绘图程序,以绘制直线和图形为例,得到如下图所示的类图,该设计采用( )模式将抽象部分与其实现部分分离,使它们都可以独立的变化。其中( )定义了实现类接口,该模式适用于( )的情况,该模式属于(请作答此空)模式。
A.创建型对象
B.结构型对象
C.行为型对象
D.结构类型
考题
阅读下列说明和 Java 代码,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
生成器( Builder)模式的意图是将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。图 6-1 所示为其类图。
阅读下列说明和C++代码,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
???? 生成器(Builder)模式的意图是将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。图5-1所示为其类图。
?
【C++代码】
#include
#include
using namespace std;
class Product {
private:?
string partA, partB;
public:?
Product() {?? }? ?
void setPartA(const string}
???? void setPartB(const string}? ?
//? 其余代码省略
};
class Builder {
public:? ? ??
(1)??
;?
virtual void buildPartB()=0;? ? ?
(2)??
;
};
class ConcreteBuilder1 : public Builder {
private:?
Product*?? product;
public:
ConcreteBuilder1() {product = new Product();???? }
void buildPartA() {????? (3)???? ("Component
A"); }?
void buildPartB() {????? (4)???? ("Component
B"); }??
Product* getResult() { return product; }
//? 其余代码省略
};
class ConcreteBuilder2 : public Builder {? ??? ? ? ?
/*??? 代码省略??? */
};
class Director {
private:? ??
Builder* builder;
public:??
Director(Builder* pBuilder) { builder= pBuilder;}? ??
void construct() {
????????????????? (5)???? ;
?????????????? //? 其余代码省略? ?
}??
//? 其余代码省略
};
int main() {? ? ??
Director* director1 = new Director(new ConcreteBuilder1());? ?
director1->construct();? ? ??
delete director1;? ? ?
return 0;
【Java代码】
import jav(6)A.util.*;
class Product {? ? ? ?
private String partA;? ? ? ?
private String partB;? ? ? ??
public Product() {}? ? ??
public void setPartA(String s) { partA = s; }? ? ? ?
public void setPartB(String s) { partB = s; }
}
interface Builder {? ?
public?????? (1)???? ;? ??
public void buildPartB();? ? ??
public?????? (2)???? ;
}
class ConcreteBuilder1 implements Builder {? ? ? ?
private Product product;? ? ? ?
public ConcreteBuilder1() { product = new Product();?? }? ? ? ??
public void buildPartA() {????????
(3)??
("Component A"); }
public void buildPartB() {???? ????(4)?? ("Component B"); }? ? ??
public Product getResult() { return product;}
}
class ConcreteBuilder2 implements Builder {?? ? ? ? ?
//? 代码省略
}
class Director {? ? ? ?
private Builder builder;? ? ? ?
public Director(Builder builder) {this.builder = builder; }
public void construct() {
? ? ? ? ? ? ? ? ? (5)???? ;
? ? ? ? ? ? ? //? 代码省略? ? ??
}
}
class Test {? ? ??
public static void main(String[] args) {
???????????????? Director director1 = new
Director(new ConcreteBuilder1());
???????????????? director1.construct();? ? ? ??
}
考题
以下设计模式中,( )模式使多个对象都有机会处理请求。将这些对象连成一条链。并沿着这条链传递该请求。直到有一个对象处理为止。从而避免请求的发送者和接收者之间的耦合关系。( )模式提供一种方法顺序访问一个聚合对象中的各个元素。且不需要暴露该对象的内部表示。这两种模式均为(请作答此空)A.创建型对象模式
B.结构型对象模式
C.行为型对象模式
D.行为型类模式
考题
设计模式基于面向对象技术,是人们在长期的开发实践中良好经验的结晶,提供了一个简单、统一的描述方法,使得人们可以复用这些软件设计办法、过程管理经验。按照设计模式的目的进行划分,现有的设计模式可以分为创建型、()和行为型三种类型。其中()属于创建型模式,(请作答此空 )属于行为型模式。()模式可以将一个复杂的组件分成功能性抽象和内部实现两个独立的但又相关的继承层次结构,从而可以实现接口与实现分离。
A.Decorator
B. Composite
C. Memento
D. Builder
考题
设计模式基于面向对象技术,是人们在长期的开发实践中良好经验的结晶,提供了一个简单、统一的描述方法,使得人们可以复用这些软件设计办法、过程管理经验。按照设计模式的目的进行划分,现有的设计模式可以分为创建型、(请作答此空 )和行为型三种类型。其中()属于创建型模式,()属于行为型模式。()模式可以将一个复杂的组件分成功能性抽象和内部实现两个独立的但又相关的继承层次结构,从而可以实现接口与实现分离。A. 合成型
B. 组合型
C. 结构型
D. 聚合型
考题
以下意图哪个是用来描述PROXY(代理)?()A、用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象B、运用共享技术有效地支持大量细粒度的对象C、为其他对象提供一种代理以控制对这个对象的访问D、将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示
考题
以下意图哪个是用来描述BRIDGE(桥接)?()A、提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类B、将抽象部分与它的实现部分分离,使它们都可以独立地变化C、将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示D、动态地给一个对象添加一些额外的职责
考题
以下意图哪个是用来描述BUILDER(生成器)?()A、定义一个用于创建对象的接口,让子类决定实例化哪一个类B、将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示C、保证一个类仅有一个实例,并提供一个访问它的全局访问点D、运用共享技术有效地支持大量细粒度的对象
考题
关于模式适用性,在以下情况可以使用builder模式?()A、当类只能有一个实例而且客户可以从一个众所周知的访问点访问它时B、当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时C、当构造过程必须允许被构造的对象有不同的表示时D、一个对象的行为取决于它的状态,并且它必须在运行时刻根据状态改变它的行为
考题
单选题关于模式适用性,在以下情况可以使用builder模式?()A
当类只能有一个实例而且客户可以从一个众所周知的访问点访问它时B
当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时C
当构造过程必须允许被构造的对象有不同的表示时D
一个对象的行为取决于它的状态,并且它必须在运行时刻根据状态改变它的行为
考题
单选题以下意图哪个是用来描述PROXY(代理)?()A
用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象B
运用共享技术有效地支持大量细粒度的对象C
为其他对象提供一种代理以控制对这个对象的访问D
将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示
考题
单选题以下选项哪个是用来描述组合模式()A
为其他对象提供一种代理以控制对这个对象的访问B
运用共享技术有效地支持大量细粒度的对象C
将对象组合成树形结构以表示“部分-整体”的层次结构D
将一个复杂对象的构建与它的表示分离
考题
单选题以下意图哪个是用来描述INTERPRETER(解释器)?()A
将抽象部分与它的实现部分分离,使它们都可以独立地变化B
给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子C
将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示D
为其他对象提供一种代理以控制对这个对象的访问
考题
单选题以下意图哪个是用来描述策略模式()A
将抽象部分与它的实现部分分离,使它们都可以独立地变化B
将一个复杂对象的构建与它的表示分离C
定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换
热门标签
最新试卷