是使用状态模式还是策略模式

06-01-12 涅盘
我在设计一个绘图的工具,看了一些资料上说将不同绘图功能的实现使用状态模式来设计.可我有觉得用策略模式也没错.每个不同的功能对应一个不同的算法.

到底用状态模式的原因是什么.

banq
2006-01-12 17:17
我们必须理解状态模式是关注了什么、释放了什么,使用状态模式前提是:必须有事件促使状态变化。

试验想想看:事件是由用户触发的,如果发出的事件类型很多,这样状态就有各种变化,但是这些代码都散落在系统各个类中,造成状态切换难以控制,所以必须使用状态模式进行封装,输入信号是事件;输出是状态结果,状态模式状态机就是一个黑盒子。

状态模式其实是数据模式,和数据相关。

不同绘图功能不涉及数据,它的切换根据界面点按,所以命令模式不可少,多透露业务细节才能进一步决定。

leoyu
2007-05-23 19:59
看了JAVA与模式一书的策略模式和状态模式.我看都是把抽象构件对象委派给一个环境对象,然后环境对象再委派调用具体构件的方法.我看这两个模式是一样的,没看出有什么区别.

猜你喜欢