内容模型设计说明
一、背景
在软件项目中存在许多进行数据维护的功能,而这些功能一般只是简单的增删查改。
例如,在学校信息管理系统中,对教师信息,学生信息,班级信息,课程信息等基本内容
的数据管理只是简单的增删查改,不涉及复杂的业务流程。为了提高生产效率,就需要一
个只需进行简单配置就能实现对数据的增加,删除,查找,以及修改的系统功能。
二、目的
通过配置模型信息,实现对数据的增加删除,查找以及修改。
三、定义
内容模型:通过配置模型信息,就能实现数据的增删查改的系统功能。它主要由模型定
义文件,模型控件,模型容器以及模型面板组成组成。其工作原理就是根据具体的业务流
程模型容器加载不同的模型控件,并通过模型控件获取数据值,然后将数据提交给模型面
板进行处理。
四、总体设计
内容模型由六部份组成:模型控件,模型容器,模型面板,模型配置,数据提供者以
及操作命令。
模型控件:用于录入信息以及显示信息的单个控件,是录入信息的最小单位。
模型容器:如于装载各种模型控件的容器。一个模型容器与一系统业务操作相对应。
如编辑容器,用来进行数据的录入以及修改;列表容器列表显示查找到的信息;查询容器
用来提交查询条件;导航容器用来进行功能导航。
模型面板:模型面板是进数业务处理与信息交互的核心区域。模型面板上承载了不同
的模型容器。各模型容器所提交的数据都通过模型面板进行处理。各模型容器信息的交互
也是通过模型机板进行传递。
模型配置文件:模型配置文件定义了一个模型的数据字段。以及模型所用到的模型容
器以及每个一模型字段所对应的模型控件的属性以及样式。
数据提供者:根据提交过来的模型数据进行处理。
操作命令:对提交的命令进行操作。如发布共享,审核,删除选择,移动栏目等。
五、详细设计
5.1 配置说明
配置文件主要由表结构以及布局组成。表结构用于定义数据录入以及查询时所需要的
数据字段。布局主要用于定义各种容器在初始化以及数据提交时所要用到的配置信息。说
细说明如下:
<ModelInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
模型控件
模型配置
文件
模型容器
模型面板
数据提供者 操作命令
provider="We7.Model.UI.Data.ArticleDataProvider,We7.Model.UI">
<dataSet>
<dataTable name="ABC">
<dataColumn name="ID" dataType="String" expression="" direction="Output"
mapping="ID" />
<dataColumn name="Title" dataType="String" expression="" direction="Output"
mapping="Title" />
<dataColumn name="ProcessText" dataType="String" expression="Get(ProcessText)"
direction="ReturnValue" />
</dataTable>
</dataSet>
<layout>
<panel name="edit">
<edit path="we7.Editor" visible="true">
<group>
<control label="ID" name="ID" type="GUID" required="true" visible="false"/>
<control label="栏目" name="OwnerID" type="We7.ChannelSelect" required="true"
visible="true" />
<control label="标题" name="Title" type="TextInput" required="true" visible="true"
/>
</group>
</edit>
<condition visible="false" path="we7.Condition">
<control id="ID" label="ID" name="ID" type="Request" required="false"
visible="false" />
</condition>
<context>
<dataKey>ID</dataKey>
</context>
</panel>
<panel name="list">
<list visible="true" path="we7.List">
<column name="ID" label="ID" type="html" index="0" visible="false" />
<column name="ProcessText" label="审核" type="html" index="7" visible="true"
width="100" />
<column name="Manage" label="管理" type="action" index="8" visible="true"
width="100">
<param name="cmdText" value="编辑|删除"></param>
</column>
</list>
<pager visible="true" path="we7.Pager" />
<condition visible="true" path="we7.Condition">
<control id="Title" label="标题" name="Title" type="TextInput" required="false"
visible="true">
<param name="operater" value="like"></param>
</control>
</condition>
<command visible="true" path="we7.Command" />
<context>
<pageSize>10</pageSize>
<dataKey>ID</dataKey>
</context>
</panel>
</layout>
</ModelInfo>
节点名称 说明 子节点 属性
ModelInfo
模型配置根节点 dataset:数据集
layout:布局
provider:数据提供者
desc:模型描述信息
dataSet
数据集根节点。整个
配置文件只能有一个
dataSet 节 点 , 一 个
dataSet 含 有 多 个
dataTable.
dataTable:数据表格. 无
dataTable
数据表。一个数据表
含 有 多 条 数 据 列 信
息。
dataColumn 数据列 name:表格名称
dataColumn
数据列.用于定义数据
的详细信息
无 name:列名,对应于数据库
表中的字段名。
desc:描述信息
dataType : 数 据 类
型,TypeCode 枚举。
expression:表达示,用于计
算当前列的数据值。
direction:数据的输入输出
类型。Inputout 表示只输入
到单表中,Output 表示只输
入到映表中,InputOutput 表
示 向 两 个 表 中 输 入 数
据。ReturnValue 表示是用于
辅助取得查询值的字段。
mapping:映射字段。用于
指定映射到文章表中的数据
列。
layout
布局信息根节点。一
个 layout 下 面 有 多 个
panel 配置信息
panel : 面 板 配 置 信
息
panel
布局面板。一个布局
面板拥有编辑容器,
列表容器,查询条件
容器,命令容器,导
航容器,翻页容器等
配置信息
edit:编辑容器
list:列表容器
condition;查询容器
navigation:导航容器
pager:分页容器
command:命令容器
name:面板名称
desc:面板描述信息
eidt
编辑容器配置信息。 group:编辑容器中的
分组信息,在分组下
面含有编辑容器的控
件。
path:容器控件名称
visible:是否可见
group
编辑容器的分组信息 control:编辑容器各个
分组下的控件信息
name:分组名称
lable:分组的标签信息
desc:分组描述信息
cotnrol
控件信息,在编辑容
器以及条件容器中会
用对。
param:控件的扩展信
息
name:控件对应的数据字段
名。
id:控件 ID
type:控件类型
lable:控件标签
width:长
heigh:高
visible:是否可见
requreid:是否必填项。
param
扩展参数。编辑容器
以 及 条 件 容 器 的
cotnrol 节点下以及列
表容器的 column 节点
下会用到。
name:参数名
value:参数值
data: 参 数 的 文 本 信 息 。 为
param 中的文本信息。
list
列表容器配置信息 column: 列 表 中 的 列
配置信息
path:容器控件路径
visible:是否可见
column
列表容器中的列配置
信息
param:数据列的扩展
信息
name:控件对应的数据字段
名。
type:控件类型
lable:控件标签
width:长
heigh:高
align:对齐方式
visible:是否可见
pager
分页控件配置信息 path:容器控件路径
visible:是否可见
condition
条件容器配置信息 control:条件容器下的
控件信息
path:容器控件路径
visible:是否可见
command
命令容器配置信息 param:命令容器的扩 path:容器控件路径