边界上下文是一个领域概念,其声明了当前模型的应用范围
如:
前台客房预订系统(位于客房预订上下文中)与后台客房管理系统(位于客房管理上下文中)不在一个边界上下文内,因为他们的模型不能共享(如:前台客房预订有订单的概念,但后台客房管理并不需要订单的概念),当我们新增一个概念“清洁员”,那么这个概念应该放在哪?明显应该放在后台客房管理系统
不同的边界上下文不应该共享代码,除非分离出共享核心
如(还是使用上面的示例):
我们现在想要vip预订系统,vip预订系统需要使用前台客房预订系统的模型,所以vip预订系统属于客房预订上下文,所以我们的vip预订系统不应该使用后台客房管理系统的模型
边界上下文不是module
边界上下文可以包含多个module,但不要在一个module中包含多个边界上下文
持续集成
把一个上下文内的工作频繁的合并到一起(概念和代码),这样可以迅速的发现问题
如:
(上下文有很多子领域组成)程序员在域A改了AClass,域B使用域A,如果程序员更改错误,在集成时进行单元测试就会发现