状态模式:允许对象在内部状态改变时改变它的行为,对象看起来好像改变了他的类。

以状态模式而言,我们将一群行为封装在状态对象中,context的行为为随时可委托到那些状态对象中的一个。随着时间的流逝,当前状态在状态对象集合中游走改变,以反映出context内部的状态,因此,context的行为也会跟着改变。但是context的客户对状态了解不多,甚至根本是浑然不知。

以策略模式而言,客户通常主动指定context所要组合的策略对象是哪一个。现在,固然策略模式让我们具体弹性,能够在运行时改变策略,但对于某个context对象,通常都只有一个最适当的策略对象。 

 

posted on 2011-01-27 15:15  jackdesk  阅读(101)  评论(0编辑  收藏  举报