在规模较大的项目中, 特别是分布式系统中, 各个模块如果各自定义自己的数据和交互消息, 会造成很多问题。
如果大家使用统一的模型定义, 并产生统一的数据结构和交互消息, 有很大好处。
模型驱动开发强调大家使用统一的模型定义, 大家从需求开始就关注模型, 使用工具产生统一的数据结构和交互消息。
模型定义应该包括类型、消息、数据和数据字典。
类型指的是业务类型的定义, 比如下面几个就是业务类型定义:
|
IPType
|
char[16]
|
|
PasswordType
|
char[33]
|
|
SeqnoType
|
unsigned int32
|
后面定义消息和结构的时候必须使用定义的类型,而不是使用原始类型。这样业务类型发生变更时,改动这里即可。
消息定义的时候可以让消息报文包含多个消息体,尽量不要有太多的嵌套层次。在我们的项目中,我们的消息报文下面就是报文域,只有一个层次。
数据定义的时候可以说明数据是存储在哪些地方,比如内存中或者数据库中,并为不同的存储附加专属特性,比如索引等等。
实践中, 数据的形式可以多种多样, 有表格式, 有树形, 等等, 不是所有的数据可以用代码生成,怎样把这部分代码和模型联系起来,这是个问题。
浙公网安备 33010602011771号