在我的公司,我们有两个"应用程序" - 一个基本上是产品部门管理产品,促销,客户等的大型CMS。第二个是或多或少的电子商务解决方案,它是CMS有限背景的直接消费者。问题是,我们共享基础设施 - 主要是数据库。这是BC省电子商务中Product
的起源 - 它是由CMS维护的表格加载的。在Implementing DDD by Vernon作者提到了几种集成这种远程BC(REST / RPC / Messaging)的方法,但我还没有在任何地方遇到过这种情况。从性能的角度来看,它可能(如果我错了,请纠正我)最好在BC电子商务中使用这些CMS表。
现在:
我有什么选择?
答案 0 :(得分:0)
数据库集成也是一种选择,尽管DDD不希望它。
如果要避免直接数据库操作,可以在电子商务有界上下文中使用隐藏在域服务或ProductRepository后面的CMS的rpc查询。我相信这是最低成本的方法。
另一方面,电子商务有限的上下文可能有自己的数据库,所需的产品数据可以由CMS有界上下文发布的消息复制。但我认为这是对两个有限背景的重大改变。