领域驱动目前非常火,小年轻们都以为是一个很时髦的东西,其实它已经出来十多年了,以前一直以为这个都是传统it企业拿来解决复杂的企业应用系统或政务系统用的.直至微服务兴起,发现网易阿里等大型互联网公司也在用这个,再用以前的眼光看待领域驱动设计显然已经不合适了.领域驱动的书很厚,但是核心的东西其实就几句:
业务归业务、技术归技术;把大的一个领域,拆分成几个相对独立的小领域,并区分一下优先级;再把小领域继续细分,直到细分到某个具体的模型为止,同时搞清楚各个细分的小领域之间的关系,理清各个小领域内各个模型之间的关系,和模型内的业务逻辑,再搞清楚各个模型和领域的用户是谁.
再简洁一点就是:
其实就是软件工程里的高内聚低耦合,自顶向下,逐步细化,再搞清楚内部逻辑和之间关系
对于战术上采用的是贫血对象还是失血对象,资源层,防腐层等怎么实现,领域怎么划分合适等,其实这些在常规的技术框架和软件设计概念里都有体现,只是叫法和表现形式的差异:如spring的controller,mybatis的dao,再比如经常给对外接口提供一个专门的类和自己内部业务处理逻辑分开,保持内部的改动尽量不影响外部用户
还有想特别强调的是:
网友评论