技术逻辑与业务逻辑分离
分工与协做是人类发展史的主要动力,按照协做的角度,能够将系统依照某种原则进行切分,技术与业务分离是最多见的方式。 能够参考《》blog
业务逻辑抽象
回到业务逻辑自己,咱们能够将核心业务逻辑中的逻辑进行抽象,这个过程须要一层层的抽象,好比将苹果和梨归类归纳为水果,也能够将桌子和椅子归类归纳为家具。可是怎样才能将苹果和椅子放在同一组中呢?class
仅仅提升一个抽象层次是不够的,由于上一个抽象层次是水果和家具的范畴。所以,你必须提升到更高的抽象层次,好比将其归纳为“商品”。im
能力下沉
能力下沉有两个关键指标:技术
- 复用性,复用性是告诉咱们When(何时该下沉了),即有重复代码的时候
- 内聚性,内聚性是告诉咱们How(要下沉到哪里),功能有没有内聚到恰当的实体上,有没有放到合适的层次上(由于Domain层的能力也是有两个层次的,一个是Domain Service这是相对比较粗的粒度,另外一个是Domain的Model这个是最细粒度的复用)