那么标题“多个domain黑匣论”,简单的来说就是让领域层本身可以分为数个领域,下面以jsdm代码为例(记住:jsdm是nodejs框架还不成熟,能掌控的眼下只能是寡人,呵呵,推荐大家用banq的java框架,以下不要纠结代码本身,而是探讨思想):
|
领域domain 之间只能通过 domain.exec 调用内部而无法得知domain内部任何细节信息,你只能exec 执行 或 on 监听 领域层,domain永远是个黑匣。
那么标题“多个domain黑匣论”,简单的来说就是让领域层本身可以分为数个领域,下面以jsdm代码为例(记住:jsdm是nodejs框架还不成熟,能掌控的眼下只能是寡人,呵呵,推荐大家用banq的java框架,以下不要纠结代码本身,而是探讨思想):
|
领域domain 之间只能通过 domain.exec 调用内部而无法得知domain内部任何细节信息,你只能exec 执行 或 on 监听 领域层,domain永远是个黑匣。
每个上下文包含一个领域聚合,多个上下文之间整合实际就是企业业务集成EAI。
每个领域内部是黑盒,多个领域聚合只能通过聚合根实体交互,比如发送事件或消息,这样比较更加松耦合,通常多个领域之间通过一个企业总线BUS来沟通,如果城市和高速公路一样。这实际是一种领域驱动的SOA概念。
最新一篇文章谈REST和DDD上下文如何实现企业整合:
http://www.jdon.com/soa/resteai.html
呵呵扯远了,不过也是相关话题。
|
这个代码放在应用层,我发现错了,应该放在领域的eventhandle里,也就是领域之间能够相互知道,我得改一下jsdm了。
能实现类似的代码
|
然后 domain2 能查询到domain1
|
希望代码能反映点思想理论。呵呵
[该贴被brighthas于2013-12-01 11:07修改过]