领域模型介绍
领域模型介绍
领域模型是应用程序所使用的信息数据模型的抽象描述,它是应用程序体系结构的中心。应用程序中的每个模块都有自己的领域模型,描述该模块中使用的数据结构。
领域模型主要由 3 部分组成:实体、实体属性、实体之间的关联关系。
下面这张图描述了一个简单的领域模型,包括顾客和订单两个实体:
顾客实体的编码为 customer,具有一个实体属性——编码为 name、名称为姓名、数据类型为字符串,且该实体属性具有验证规则。顾客实体继承自 system_user 实体。
订单实体的编码为 order,具有两个实体属性,一个是订单编号(编码 orderID),数据类型为自动编号;一个是订单时间(orderTime),数据类型为日期与时间。订单实体具有触发事件。
订单实体与顾客实体之间的关联关系由订单指向顾客,编码为 order_customer,数量关系为多对一。
功能说明
领域模型与共工开发工具其他模块的功能是完全集成、密切结合的。实体配置好之后,可作为参数入到工作流、逻辑中使用,或是在页面编辑器元件处进行绑定实体及其属性或关联关系。
下图呈现了领域模型中的实体配置项(虚线框内),主要包括对实体、实体属性、关联关系的配置;以及实体与工作流、逻辑、页面之间的功能结构关系。
配置领域模型
下文将为您展示如何通过共工搭建一个包含订单和顾客实体的领域模型。
创建实体
点击领域模型画布左上方的创建实体按钮,
跳出创建实体弹窗,输入编码(必填)和名称(非必填),选择是否为持久化实体(必填),点击创建。
ps:持久化实体的数据将入库保存,非持久化实体仅作页面数据展示的临时使用此时,画布上出现订单实体。
创建实体属性
选中订单实体,下方出现新增实体属性按钮,点击后,弹出创建实体属性弹窗。输入实体属性编码、名称、类型后,点击创建。
创建后,订单实体出现了订单编码实体属性。
重复上述步骤,继续创建顾客实体及其属性后,得到如下图所示的两个实体:
创建关联关系
从订单实体外框的圆点处向外拖拽连线,连至顾客实体外框的圆点。
松开鼠标后,实体之间出现一条编码为"order_customer"的关联关系。
关联关系的默认数量关系为 N:1(多对一)。数量关系一共有三种:N:1(多对一),N:N(多对多),1:1(一对一)。用户可以根据自身实际情况在右侧属性栏自行选择:
添加校验规则
在实体的属性栏,点击添加校验规则按钮,
跳出添加校验规则的弹窗,下拉框选择姓名实体属性后,选择验证规则为“必填”,并且输入错误提示“姓名不得为空”,点击保存。
保存后,顾客实体的姓名实体属性栏出现勾图标,示意该实体属性具备验证规则。
添加事件
在实体的属性栏,您可以为实体添加事件。
事件定义处理实体相关的逻辑事件处理,根据选择的时刻和类型,在提交、删除对象之前或之后执行逻辑。
目前事件类型分为提交和删除两种类型,事件时刻包括之前和之后两种:
继承
选中实体时,可以选择是否继承。
继承有两种用途:
用途一:继承可以实现共通数据的统一管理,例如系统中有一个功能需要管理系统中所有上传文件内容,这时候可以在使用每个功能上传的时候,继承一个文件父实体,存储(名称、类型、大小、上传时间),自定义的实体里面可以增加缩略图等属性,这时使用自身实体可以拥有父实体的属性,父实体也可以整体做一个文件管理页面,查询所有系统中的文件数据。用途二:继承可以让子实体拥有父实体的特性,例如继承系统用户表可以对系统属性进行扩展,拥有了系统用户的能力,还有流程实体继承系统流程实体,就让流程实体在每个流程中拥有不同的属性。辅助生成页面
选中一个实体,点击下方的页面按钮,打开快速生成页面弹窗,选择列表页和表单页的页面布局,点击确定,系统将根据实体结构自动生成基础表单页和列表页。
或者在领域模型画布的右上方,点击快速生成页面按钮,选择需要生成页面的实体,系统可以帮助批量生成对应的页面。