Dorado 7 : 04. DataType(SEFC)

按对象结构分

DataType用来描述所有的数据类型,既包括String、int这样的简单类型,也包括数据实体这样的复杂类型。DataType分为以下三类:

  • 简单DataType,如String、int、Boolean、Date
  • 聚合DataType,如List、Set、Array
  • 实体DataType,如POJO Bean、Map

由于Dorado默认已经声明好了常用的简单类型和聚合类型。因此绝大多数情况下,开发需要声明的只是业务系统中的数据实体类型。

默认提供的DataType类型的查找方式可以通过dataType属性提供的编辑框查看其base中的DataType,这些都是默认提供的DataType:

按定义位置分

另外DataType还可以分为全局和私有两种。前面实做CRUD的范例中我们使用的就是私有的DataType,它声明在每一个.view.xml中,另外全局DataType必须定义在.model.xml文件中,定义的方法为,找到sample-center的models目录,新建一个Model文件:


并在其中添加DataType,如Demo.model.xml中的这些DataType就是全局的DataType:

其它特性

另外DataType还有以下的几个特性,需要关注一下:

  • DataType支持继承:包括多重继承,即同时继承多个DataType。当然了,迭代式的继承:A继承B,B继承C,自然是没有问题的;
  • 在View引用DataType时,Dorado首先根据名称查找是否存在匹配的私有DataType,如果没有再继续查找全局DataType。
  • [Employee]:表示以集合的方式引用一个名为Employee的DataType。另外它还有一些其他的表示方法,如:List[Employee]、Set[Employee]等也是合法的用法且代表了更多的含义,但是在绝大多数情况下我们都不需要这样使用。
  • 全局DataType与JavaBean的matchType关系,要求一一对应,不允许多个DataType对应同一个JavaBean。这便于在系统知道对象类型,但不知道DataType的时候,系统可以根据前面的对应关系自动的找到相关的DataType,并将数据转换为Dorado中的数据。

Attachments:

DataTypeDefault.png (image/png)
DataTypeModel1.png (image/png)
DataTypeModel2.png (image/png)