日历

September 2020
M T W T F S S
 123456
78910111213
14151617181920
21222324252627
282930  

Reply To: 状态模式与事件驱动

Home Forums 《冒号课堂》讨论区 状态模式与事件驱动 Reply To: 状态模式与事件驱动

#1177
hui
Keymaster

前段时间在外旅游,未能及时答复,非常抱歉。以下是我的回复——

1.状态与事件可以相互推演——一方面可以把状态看作对事件的响应,另一方面可以把事件看作状态的迁移。从这个角度说,与其说把state与event看作并列的二维变量,不如说把二者看作一种(数学上的)对偶(duality)关系。

2.状态与事件的确相关,但区别也是很明显的——状态对应的是时间上的一个区间(interval),而事件对应的是时间上的一个(point)。所以“当前状态”的说法很普遍,但“当前事件”的说法比较少见,因为状态是持续性的,而事件是瞬时性的。

3.事件驱动式的卖点是一个对象可以同时为多个对象传递信息,还能在时间和空间上保持松耦合关系。而状态模式的卖点是在缺乏动态继承机制下实现一个对象状态的演进。

 请您评分1星(很差)2星(不行)3星(一般)4星(不错)5星(很棒)