智慧树知到《设计模式与软件体系结构》章节测试答案


B.创建型

C.行为型

D.复用型

正确答案:创建型

4、当应用工厂方法(Factory Method)模式时要考虑()。

A.主要有两种不同的情况

B.参数化工厂方法

C.特定语言的变化和问题

D.使用模板以避免创建子类

正确答案:主要有两种不同的情况;参数化工厂方法;特定语言的变化和问题;使用模板以避免创建子类

5、工厂模式分为()3种类型。

A.简单工厂

B.工厂方法

C.抽象工厂

D.单例

正确答案:简单工厂;工厂方法;抽象工厂

6、简单工厂模式可以根据参数的不同返回不同的实例。

A.正确

B.错误

正确答案:正确

7、工厂方法模式的主要角色有:抽象工厂(Abstract Factory) 、 具体工厂(Concrete Factory) 、抽象产品(Product)和具体产品(Concrete Product)。

A.正确

B.错误

正确答案:正确

8、抽象工厂模式是简单工厂模式的升级版本,工厂方法模式只生产一个等级的产品,而抽象工厂模式可生产多个等级的产品。

A.正确

B.错误

正确答案:错误

9、创建型模式把实例化的责任与使用实例的责任分割开来。

A.正确

B.错误

正确答案:正确

10、由于Abstract Factory类和具体工厂方法可以分离,因此在实现时会产生更多的类。

A.正确

B.错误

正确答案:错误

第三章单元测试

1、()可用来描述原型(Prototype)。

A.允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它的类。

B.表示一个作用于某对象结构中的各元素的操作。它是你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。

C.定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。

D.用原型实例指定创建对象的种类,并且通过复制这些原型创建新的对象。

正确答案:用原型实例指定创建对象的种类,并且通过复制这些原型创建新的对象。

2、在()适合使用单例(Singleton)模式。

A.当一个类不知道它所必须创建的对象的类的时候

B.当一个类的实例只能有几个不同的状态组合中的一种时

C.当这个唯一实例应该是通过子类化可扩展的,并且客户应该无需更改代码就能使用一个扩展的实例时

D.当一个类希望由它的子类来指定它所创建的对象的时候

正确答案:当这个唯一实例应该是通过子类化可扩展的,并且客户应该无需更改代码就能使用一个扩展的实例时

3、在()不适合使用原型(Prototype)模式。

A.当要实例化的类是在运行时刻指定是,例如通过动态装载

B.当要强调一系列相关的产品对象的设计以便进行联合使用时

C.为了避免创建一个与产品类层次平行的工厂类层次时

D.当一个类的实例只能有几个不同状态组合中的一种时

正确答案:当要强调一系列相关的产品对象的设计以便进行联合使用时

4、单例模式中,两个基本要点()和单子类自己提供单利。

A.构造函数私有