[该贴被conquersky于2009-12-30 21:28修改过]
这篇文章 讲得很好 ~~~ 大家可以看看
2009年12月31日 01:21 "conquersky"的内容
修改对象状态的事件 从领域对象中 隔离出来了
将事件和状态分离这实际就是GOF状态模式的核心。这和我们进行用例分析时的强调状态用例也是一致的。
状态机核心就是:你告诉我事件,我返回给你状态,整个系统的核心就是由状态机控制,状态切换规则被封装在状体机中,输入输出只有触发状态切换的事件。如果能对GoF设计模式透彻了解,就对事件状体分离不是很疑惑。
在CQS中,由领域对象封装状态机,状态机是领域对象的核心,事件在整个分布式网络中不断被触发再分发,而封装状态机的领域模型则是分布式环境中一个个重要基地。这和宇宙大战模型很类似。
[该贴被banq于2009-12-31 10:42修改过]
2009年12月29日 13:45 "banq"的内容
于CQRS,是greg young通过实践提出的
Greg Young著名的PPT:
释放你的领域
主要几个思想:
1.Explicit State Representation强调状态表达,状态转换很重要必须被建模,
Event Storage
Command Query Separation
Asynchronous Context Mapping
[该贴被xinying_ge于2010-01-19 09:31修改过]
2010年01月19日 10:44 "banq"的内容
Tokyo Cabinet 和Tyrant 这样的key-value存储产品已经封装了这些Event的分发
好的,先补一下这方面的信息。
2009年12月30日 21:24 "conquersky"的内容
贴张图 感觉挺有意思的 一张图胜 千言万语啊~~ ...
有意思!
一点点感觉,CQS一个大的优点是屏蔽掉了数据库驱动或页面原型驱动对业务对象的污染。
banq二楼的发言,实践后才能品出其中真味。
对象是一组行为及与之相关数据的集合,事务给了我们以单一(或者部分组合)行为观察对象的能力。这一能力在分布式传输中真的很牛叉。