网友您好, 请在下方输入框内输入要搜索的题目:
题目内容
(请给出正确答案)
模式将一个复杂对象的构建与其表示分离,使得同样的构建过程可以创 建不同的表示。以下( 47 )情况适合选用该模式。 ①抽象复杂对象的构建步骤 ②基于构建过程的具体实现构建复杂对象的不同表示 ③一个类仅有一个实例 ④一个类的实例只能有几个不同状态组合中的一种
A.生成器(Builder)
B.工厂方法(Factory Method)
C.原型(Prototype)
D.单例( Singleton)
参考答案
更多 “ 模式将一个复杂对象的构建与其表示分离,使得同样的构建过程可以创 建不同的表示。以下( 47 )情况适合选用该模式。 ①抽象复杂对象的构建步骤 ②基于构建过程的具体实现构建复杂对象的不同表示 ③一个类仅有一个实例 ④一个类的实例只能有几个不同状态组合中的一种A.生成器(Builder)B.工厂方法(Factory Method)C.原型(Prototype)D.单例( Singleton) ” 相关考题
考题
以下关于桥接模式的叙述错误的是( )。
A.桥接模式的用意是将抽象化与实现化脱耦,使得两者可以独立地变化B.桥接模式将继承关系转换成关联关系,从而降低系统的耦合度C.桥接模式可以动态地给一个对象增加功能,这些功能也可以动态地撤销D.桥接模式可以从接口中分离实现功能,使得设计更具扩展性
考题
● 面向对象分析的主要任务不包括 (47) 。(47)A. 构建分析模型,以描述用户的需求B. 构建设计模型,以描述系统如何解决问题C. 建立一个准确的、一致的系统模型以描述软件需要解决的问题D. 构建分析模型,验证最终系统是否满足软件需求
考题
关于对象、类、继承、多态的描述,不正确的是:()。A.对象包含对象表示、对象状态和对象行为三个基本要素B.类是对象的实例,对象是类的模板C.继承是表示类之间的层次关系D.多态使得同一个操作在不同类中有不同的实现方式
考题
图5-6UML类图所示意的设计模式的意图是(47)。A.为特定的客户(或情况)提供特定系列的对象B.定义一系列的算法并将它们一个个封装起来,使它们可以相互替换C.将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示D.定义一个用于创建对象的接口,让子类决定实例化哪一个类
考题
在程序运行过程中,(49)将方法与特定的对象动态地联系在一起,使得不同的对象在使用同样的方法时,可以因对象的状态不同而产生不同的行为,从而使得方法对具体的对象具有个性。A.消息传递机制B.对象自身引用C.消息传递机制和对象自身引用D.参数多态
考题
创建型设计模式抽象了实例化过程,帮助一个系统独立于如何创建、组合和表示它的那些对象。以下( )模式是创建型模式。A.组合(Composite) B.构建器(Builder)C.桥接(Bridge) D.策略(Strategy)
考题
某模式将一个复杂对象的构建与其表示分离,使得同样的构建过程可以创建不同的表示。以下( )情况适合选用该模式。
①抽象复杂对象的构建步骤
②基于构建过程的具体实现构建复杂对象的不同表示
③一个类仅有一个实例
④一个类的实例只能有几个不同状态组合中的一种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)
考题
阅读下列说明和 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();? ? ? ??
}
考题
MVC模式的优点体现在()。A、将表示层和处理层完全分开,提高了可靠性B、可以多种view去访问相同的model,提高了复用性和适应性C、清晰的分层同样使得代码清晰、程序的可维护性提高D、不同的程序员可以各司其职,增加开发速度
考题
以下意图哪个是用来描述PROXY(代理)?()A、用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象B、运用共享技术有效地支持大量细粒度的对象C、为其他对象提供一种代理以控制对这个对象的访问D、将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示
考题
以下意图哪个是用来描述BRIDGE(桥接)?()A、提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类B、将抽象部分与它的实现部分分离,使它们都可以独立地变化C、将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示D、动态地给一个对象添加一些额外的职责
考题
以下意图哪个是用来描述BUILDER(生成器)?()A、定义一个用于创建对象的接口,让子类决定实例化哪一个类B、将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示C、保证一个类仅有一个实例,并提供一个访问它的全局访问点D、运用共享技术有效地支持大量细粒度的对象
考题
建造者模式的优点有哪些()A、分步骤构建一个复杂的对象B、应对“复杂对象各个部分”的频繁需求变动C、用户使用不同的具体建造者即可得到不同的产品对象D、如果产品的内部变化复杂,可能会导致需要定义很多具体建造者类来实现这种变化,导致系统变得很庞大E、如果产品之间的差异性很大,则不适合使用建造者模式,因此其使用范围受到一定的限制
考题
关于模式适用性,在以下情况可以使用builder模式?()A、当类只能有一个实例而且客户可以从一个众所周知的访问点访问它时B、当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时C、当构造过程必须允许被构造的对象有不同的表示时D、一个对象的行为取决于它的状态,并且它必须在运行时刻根据状态改变它的行为
考题
单选题关于模式适用性,在以下情况可以使用builder模式?()A
当类只能有一个实例而且客户可以从一个众所周知的访问点访问它时B
当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时C
当构造过程必须允许被构造的对象有不同的表示时D
一个对象的行为取决于它的状态,并且它必须在运行时刻根据状态改变它的行为
考题
单选题关于适配器模式(Adapter)说法正确的是()A
将抽象部分与实现部分分离,使得它们两部分可以独立地变化B
将一个接口转换成为客户想要的另一个接口C
组合多个对象形成树形结构以表示整体-部分的结构层次。其对单个对象和组合对象的使用具有一致性D
为其他对象提供一个代理或地方以控制对这个对象的访问
考题
多选题MVC模式的优点体现在()。A将表示层和处理层完全分开,提高了可靠性B可以多种view去访问相同的model,提高了复用性和适应性C清晰的分层同样使得代码清晰、程序的可维护性提高D不同的程序员可以各司其职,增加开发速度
考题
单选题以下意图哪个是用来描述PROXY(代理)?()A
用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象B
运用共享技术有效地支持大量细粒度的对象C
为其他对象提供一种代理以控制对这个对象的访问D
将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示
考题
单选题以下选项哪个是用来描述组合模式()A
为其他对象提供一种代理以控制对这个对象的访问B
运用共享技术有效地支持大量细粒度的对象C
将对象组合成树形结构以表示“部分-整体”的层次结构D
将一个复杂对象的构建与它的表示分离
考题
单选题以下意图哪个是用来描述INTERPRETER(解释器)?()A
将抽象部分与它的实现部分分离,使它们都可以独立地变化B
给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子C
将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示D
为其他对象提供一种代理以控制对这个对象的访问
考题
单选题以下意图哪个是用来描述策略模式()A
将抽象部分与它的实现部分分离,使它们都可以独立地变化B
将一个复杂对象的构建与它的表示分离C
定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换
热门标签
最新试卷