经过一个月左右的阅读和研究DDD,我决定开始自己的项目,并使用这些有限的上下文创建DDD。
- 客户群
- 产品展示
- 命令
- 开票
每个有界上下文都有其余的API作为表示层,域层,持久层。
到目前为止,代码运行顺利,但是来自一个单一的世界,我仍在尝试找出以下内容:
- 当我想创建一个新客户时,发出新发票,创建我想要的新订单,例如访问国家列表。我要:
a)在每个卑诗省创建一个国家列表
b)创建一个国家BC-> API并使用它来获取可用国家的列表
c)使用第三方API并通过每个BC中的反腐败层提取数据
- 当使用反腐败层或适配器层与第三方API集成时,我的域模型中必须包含哪些数据?例如,如果我想将zendesk API与Client BC集成在一起。我是否仅需要我域中的ticketID,还是必须从Zendesk中提取要在Client BC中访问和使用的所有数据?
如果我的MVC应用程序实际上是从API(我的受限上下文的表示层)获取数据的,那么我很难清楚地定义每个BC的边界。这是否意味着经过适当设计的BC可以为单个MVC控制器提供服务,而无需使用其他API?