若开发人员识别出设计中隐含的某个概念或是在讨论中受到启发而发现的一个概念的时候,就会对领域驱动和相应的代码进行许多的转换,在模型中加入一个或多个对象的关系,从而讲概念显式的表达出来。
这个过程就是将业务转变为代码的过程。
首先我们要对客户进行深刻的聆听,了解客户所表达的真实意图,领会客户想要通过特定的术语表达的东西,这才是聆听的重要性。
要学会使用一些简单的语言表达出专业上的术语,让领域专家可以理解,如果开发人员和领域专家在使用设计中没有共同语言的时候,这就是一个严重问题的预警。
通过聆听发现运输模型缺失的概念
团队开发出可预订货物的有小程序。程序帮助工作人员进行工作单管理,工作单用于安排起始地,目的地的货物装卸以及在不同货轮之间的转运需要的货物装卸。
预定程序使用一个路线引擎安排货物的形成。运输过程中每一段航程都作为一条数据存储在数据库表中。其中制定了转载货物的船名航次,装货地点和卸货地点。
当前的模型路线服务需要从数据库中获取起始点和目的地。
通过和领域专家进行沟通中的发现,装载货物的航次的起始日期可以和航海日程中的作业日期进行联通,这样我们可以把航海日期和预定程序中的作业进行联通,每段行程中我们都可以看到船名航次,装卸货地点以及时间,我们可以通过路线服务返回航程对象,这样我们路线服务就无须了解数据库表结构,从而将业务进行联通。
通过对模型的重构我们将路线服务中的航海起始地日期从我们航海日程模型中获得,录像服务通过对航海日程进行关联就可以追踪到货物信息,从而将整个流程进行打通。
通过模型重构获得益处:
1.明确定义了路线引擎接口。</