将业务逻辑定义为依赖于持久层,在理论上会妨碍你在没有数据库的情况下测试业务逻辑。
六边形架构:
?...一旦确定了业务能力,就可以为每个能力或相关能力组定义服务。如餐馆的三个能力:餐馆信息管理、订单管理、会计记账。
围绕能力组织服务的关键好处是它们是稳定的,所以最终的架构也相对稳定。...识别子域的方式跟识别业务能力一样:分析业务并识别业务的不同专业领域, 分析产出的子域定义结果也会跟业务能力非常接近, 如一个外卖系统的子域包含订单管理,会计,送餐等。
领域模型的边界称为限界上下文。...微服务架构下,每个限界上下文对应一个或一组服务。
拆分的指导原则
单一职责原则:
改变一个类应该只有一个理由。
在设计微服务架构时,设计小的,内聚的,仅仅含有单一职责的服务。...但系统必须维护不同服务间不同对象的一致性,多个领域模型还会影响用户体验。
定义服务API
有了系统操作列表和潜在的服务列表之后,后面就是定义服务的API,起点是将每个系统操作映射到服务。