通过上文的分析过程,我们可以逐步画出我们限界上下文,同时得出了对应的实体,以及值对象,进一步设计,可以得出对应的聚合以及聚合根。以上这些过程和最后的输出文档,我相信即是 技术开发人员也是产品人员,以及业务人员都能够看懂并理解的。那么这样的方式方法,我们就可以称为通用语言,当然通用语言的形式不一定要这样,也可以用其他方式来表示,但过程大体上都是如此,最重要的就是要让所有参与设计讨论的业务专家不管什么背景,都应该比较容易理解和接受。
当有了以上的产出,我们可以将:限界上下文转换成对应的微服务模块,实体转换为微服务的数据模型,值对象做为输入输出的方式,聚合转换为微服务的接口方法等等。针对实体再检查是否有相应遗漏的接口方法(维护相应的实体变化)。
如果开发按照这个原则来实现自己的代码,那么完全我们可以认为,设计和实现是一脉相承的。而且如果后续有需求方面的变更,为了保证实现的准确性,我们肯定需要先对设计进行变更,因为目前的实现,都不是基于流程的,而是基于设计的模型进行实现,所以当需要变化时,我们必须先要进行模型的变化,才能转成相应的实现代码。
网友评论