某快餐厅主要制作并出售儿童套餐,一般包括主餐(各类比萨)、饮料和玩具,其餐品种类

免费题库2022-08-02  0

问题 某快餐厅主要制作并出售儿童套餐,一般包括主餐(各类比萨)、饮料和玩具,其餐品种类可能不同,但制作过程相同。前台服务员(Waiter) 调度厨师制作套餐。欲开发一软件,实现该制作过程,设计如下所示类图。该设计采用(  )模式将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。其中,(  )构造一个使用Builder接口的对象。该模式属于(  )模式,该模式适用于(  )的情况。A.生成器(Builder)B.抽象工厂(Abstract Factory)C.原型(Prototype)D.工厂方法(Factory Method)A.PizzaBuilderB.SpicyPizaBuilderC.WaiterD.PizzaA.创建型对象B.结构型对象C.行为型对象D.结构型类A.当一个系统应该独立于它的产品创建、构成和表示时B.当一个类希望由它的子类来指定它所创建的对象的时候C.当要强调一系列相关的产品对象的设计以便进行联合使用时D.当构造过程必须允许被构造的对象有不同的表示时

选项

答案 ACAD

解析 (1)本题类图中有明确的builder关键字,是生成器模式。(2)生成器(构建器)模式的意图是:将一个复杂类的表示与其构造相分离,使得相同的构建过程能够得出不同的表示。(3)类图Builder:抽象建造者,为创建一个Product对象各个部件指定抽象接口,把产品的生产过程分解为不同的步骤,从而使具体建造者在具体的建造步骤上具有更多弹性,从而创造出不同表示的产品。ConcreteBuilder:具体建造者,实现Builder接口,构造和装配产品的各个部件定义并明确它所创建的表示,提供一个返回这个产品的接口。Director:指挥者,构建一个使用Builder接口的对象。即对应本题waiter。Product:产品角色,被构建的复杂对象,具体产品建造者,创建该产品的内部表示并定义它的装配过程。包含定义组成组件的类,包括将这些组件装配成最终产品的接口。(3)适用场景(复杂对象构造)当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时。当构造过程必须允许被构造的对象有不同的表示时。
转载请注明原文地址:https://www.tihaiku.com/congyezige/2409341.html

最新回复(0)