用友网络科技股份有限公司U9 档案开发 BE 组件开发 UI 组件开发 应用专题讨论主题 BE 组件开发 UI 组件开发 应用专题讨论主题BE 的相关概念• 什么是 BE ? BE ( Business Entity )即我们通常所说的实体。后台的可持久化数据对象,可以理解为数据库的一个表的内存对象类型,其本身也是与数据库表对应的。通过对象关系映射(ORMAPPING) 的持久化机制,就可以实现不用写 SQL 来进行对数据表的加载和保存。使开发的代码隔离了数据库。• 什么是组件 ? 组件是 UBF 的模型文件组织单位,一个组件对应操作系统中一个实际的模型文件。组件同时也是 UBF 的运行期的执行单位。(如以组件为单位的资源缓存...)• 什么是 BE 组件? UBF 的基本持久化单元。在实体组件中,只能有一个主实体。也就是其它该组件中的实体,必须要被该主实体直接或间接的组合上。如何开发 BE ?UBF 后台模型结构实体设计器中的常用模型元素• 实体• 属性类型• 数据传输对象 (DTO)• 枚举类型• 事件• 校验器• 实体关系 ( 继承、组合、关联 )实体设计器的主要功能介绍• 新建实体对象• 定义实体字段属性• 定义实体关系• 级联删除及敏感字段设置• 定义审批流状态机模型• 其他模型元素的定义• 构造自动生成建库脚本、元数据脚本BE 实体模型 C# 项目开发模型后台代码项目(应用开发的 C#代码编写)模型 DLL(外部项目可引用)建库元数据脚本( 进行数据库构建 )通过一键式构造命令( 包含模型检查 , 打包 , 代码生成,发布… )代码生成框架• 代码生成模板 集成了模版引擎,通过预置的应用开发模版代码,和模型文件一起生成了相应的应用开发的代码解决方案,项目,代码文件等• 生成代码类型:可改代码,不可改代码 目前解决方案是不可改的。 项目文件开发人员可以添加代码文件和引用。 代码文件,只有以 Extend.cs 结尾的文件是可以开发编写的, 其它文件每次生成会重新覆盖。• 代码生成覆盖规则 可改写的代码如果存在,不覆盖;否则,生成。 不可改的代码直接生成新的代码覆盖。代码生成框架实体代码解决方案三个项目BE 实现项目,编写应用代码**.Deploy BE 部置项目,用于对外部分服务组可见接口,不可改。**.Test BE 测试项目,可添加测试用例代码每个实体组件会生成一个目录,组件内模型均生成在这目录下。每个实体会生成两个代码文件 例: XXX.cs 和 XXXExtend.cs 是一个类型的两个partial 文件。只有 Extend 文件才是用于应用开发编写代码逻辑,通过这种方式来解决,模型变化导致代码变化和应用代码的尽量分离。开发也可以自己添加代码文件或者 DLL 引用来加入到当前项目中.编写 BE 代码模型和代码的关系什么情况下需要编写 BE 代码?BE 代码写什么?实体自身数据的完善,实体组件的数据的完善。维持实体自身对象完整性的检查逻辑,——如订单头的客户数据没有是不正确的。维持实体组件完整性的检查逻辑,——如仅有订单头,没有订单行是没有意义的。实体及实体组件持久化时的应用逻辑。BE 代码写在哪?根据具体需要在实体持久化各个时机(如下)插入自己的业务逻辑OnSetDefalultValue ( 一开始提交时,进行数据完善的事件 )OnValidate ( 走完 OnSetDefalutValue 后,开始进行自身数据校验 )OnInserting / OnUpdating / OnDeleting ( 校验后,数据库实际操作前 ) OnInserted / OnUpdated / OnDeleted ( 数据库实际更改后 ) BE 组件开发 UI 组件开发 应用专题讨论主题UI 的相关概念什么是 UI ? UI 即 User Interface (用户界面)。 UI 设计则是指对软件的人机交互、操作逻辑、界面美观的整体设计。好的 UI 设计不仅让软件变得有个性有品味,还要让软件的操作变得舒适、简单、自由,充分体现软件的定位和特点 BE 组件开发 UI 组件开发 应用专题讨论主题UI 组件开发流程UI 模型设计器之 UIModel 设计器什么是 UIModel ?UIModel 是前台的数据模型;UIModel 是单据、档案卡片和列表界面展现与交互的数据模型UIModel 由 UIView ...