万能百科  > 所属分类  > 

以下关于状态(State)模式和策略(Strategy)模式的叙述中,说法错误的是(48)。

以下关于状态(State)模式和策略(Strategy)模式的叙述中,说法错误的是(48)。

A.对于客户程序而言,State模式比Strategy模式更透明

B.Strategy模式用来处理算法变化,State模式用来处理状态变化

C.State模式的对象变化频率比Strategy模式的对象高

D.State模式的“状态”是在对象外部,Strategy模式的“策略”是在对象内部

正确答案:

D解析:State(状态)模式的设计意图是:允许一个对象在其,内部状态改变时变更它的行为。而Strategy(策略)模式的设计意图是:定义一系列的算法,把它们一个一个地封装起来,并且使它们可相互替换。可见,Strategy模式用来处理算法变化,而State模式则是处理状态变化。strategy模式在概念结构上与state模式非常相似,但它们各自的目的不同。区分这两个模式的关键是看行为是由状态驱动还是由一组算法驱动。通常,State模式的“状态”是在对象内部的,Strategy模式的“策略”可以在对象外部。

词条内容仅供参考,如果您需要解决具体问题
(尤其在法律、医学等领域),建议您咨询相关领域专业人士。

标签