刚在亚马逊上买了Martin Fowler的《领域特定语言》中文版:http://www.amazon.cn/gp/product/B00BT9KOFM
看完前10章,发现有个问题:我们常用的DDD似乎是为了维护特定领域的状态和行为而存在的,例如一个RootEntity可以有方法,可以有状态,可以有数据,但是通常不会主动与其他RootEntity进行交互。
一个常用的解决方案就是引入事件总线,由事件总线来维护领域之间的通讯。这样做的好处是明显的,但是又引入了另外一个问题:怎样维护领域之间的业务流程?显然事件总线只有路由的功能,而没有工作流的功能。
如果由DSL来担当控制中枢的角色,eventbus负责消息传输,ddd处理业务逻辑,基于客户端的模板引擎负责渲染UI(例如 jquery template),这是多么美好的架构。。。