软件开发的三个层级
- 核心领域模型:该层级与实际业务应该一致,举个例子:我们在财务系统中有依据收款信息开票的选项,那么我们的领域模型就应该有个类叫做收款信息,它有一个动作叫做开票
- 领域模型对外的交互:到了这个层级,会有很多开源代码库帮助我们,例如我们需要发票对象需要对外暴露,那么通过mvc的形式,可以对外暴露发票的信息,或者是发票需要做持久化,有各种各样的Persistence的工具帮助我们
- 底层:例如数据库字段长度,报文的payload等等,到了这一层,应该是一个很具体的问题,具体来说,在这一层级不应该有任何业务相关的知识,而完全是计算机领域的知识
通过对软件开发进行划分层级,可以帮助我们开发过程中渐进式开发
比如我要关注业务代码的时候,就纯粹的业务思维,如果我是底层的开发,我只需要关注计算机领域的知识
为什么要这么划分
我在开发中观察到,大部分新手或者开发了很久的人,在写代码的时候,过早的关注到细节问题,比如写开发票的时候就开始关注到发票数据库字段长度,就直接陷进了细节中,具体对外表现出来就是业务实现统统一个函数打包,甚至还有全局变量等等
渐进式的分层开发有助于我们专注于一件事件,只有专注了,那么开发中错误才能减少