自动售货机根据库存、存放货币量、找零能力、所选项目等不同,在货币存入并进行选择时具有如下行为:交付产品不找零 :交付产品找零:存入货币不足而不提供任何产品;库存不足而不提供任何产品。这一业务需求适合采
自动售货机根据库存、存放货币量、找零能力、所选项目等不同,在货币存入并进行选择时具有如下行为:交付产品不找零 :交付产品找零:存入货币不足而不提供任何产品;库存不足而不提供任何产品。这一业务需求适合采用( )模式设计实现,其类图如下图所示,其中( )是客户程序使用的主要接口,可用状态来对其进行配置。此模式为( ),体现的最主要的意图是( )。 (2017年软件设计师)
A. 观察者(Obeserver)
B. 状态(State)
C. 策略(Stratehy)
D. 访问者(Visitor)
A. VendingMachineState
B. Buy
C. VendingDepositState
D. VendingStockState
A. 创建型对象模式
B. 结构型对象模式
C. 行为型类模式
D. 行为型对象模式
A. 当一个对象状态改变时所有依赖它的对象得到通知并自动更新
B. 在不破坏封装性的前提下,捕获对象的内部状态并在对象之外保存
C. 一个对象在其内部状态改变时改变其行为
D. 将请求封装为对象从而可以使用不同的请求对客户进行参数化
参考答案: B A D C
参考解析:有State关键词 状态模式:允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它的类。在很多情况下,一个对象的行为取决于一个或多个动态变化的属性,这样的属性叫做状态,这样的对象叫做有状态的(stateful)对象,这样的对象状态是从事先定义好的一系列值中取出的。当一个这样的对象与外部事件产生互动时,其内部状态就会改变,从而使得系统的行为也随之发生变化。
是整个状态模式的基类也是对外的接口