UI工厂与VO模型类型详解

需积分: 11 2 下载量 106 浏览量 更新于2024-08-18 收藏 3.02MB PPT 举报
"UI工厂是用友软件股份有限公司开发的一套基于NC-UAP的UI开发框架,主要用于提升UI开发效率和代码可读性。它通过抽象常见的UI组件,如单据模板、查询模板和打印模板,形成不同的UI基类。UI工厂的核心特性包括:主子表、多子表、单表头和单表体四种VO模型,线性缓冲BillUIBuffer,以及UI状态和按钮管理。" 在UI工厂中,VO(Value Object)模型是关键元素,它们定义了不同类型的UI结构。主子表是UI工厂的默认形式,通常用于显示一个主要的数据表格以及与之相关的子表格数据。多子表则适用于展示多个子表的情况,需要继承特定的多子表基类,并且聚合VO需实现IExAggVO接口来处理这种复杂的数据结构。单表头卡片没有表体,常用于展示不需详细数据的概览,而单表体卡片则没有表头,适合基础档案节点,它们分别通过处理子表或主表为NULL来实现。 线性缓冲BillUIBuffer是一个重要的功能,它作为一个临时数据存储区域,用于缓存多张单据数据,减少不必要的后台查询。在UI工厂中,BillUIBuffer并非传统MVC模式中的Model,而是扮演一个Buffer的角色,支持用户对缓存中的任何单据进行操作。 加载界面在NC系统中基于单据模板进行,BillCardPanelWrapper和BillListPanelWrapper是处理卡片式和列表式单据模板的组件,它们负责加载设置并补充单据模板的不足功能。 UI状态管理是UI工厂的另一个核心部分,包括初始、编辑、新增和非编辑等多种状态,这些状态由IBillOperate接口定义。此外,数据状态如自由、提交、审批通过和审批未通过等由IBillStatus接口定义,这些状态控制着UI的交互和功能。 UI工厂的按钮管理通过ButtonManager统一处理,预定义了许多常用按钮,如新增、编辑和保存等。每个按钮的配置信息存储在ButtonVO对象中,开发者可以通过自定义ID来创建新的按钮,以适应特定的应用场景需求。 UI工厂通过提供一套标准化的UI开发工具和组件,简化了复杂UI的构建,增强了代码的可维护性和用户体验。对于NC行业的新员工来说,理解和掌握UI工厂的这些核心概念和技术,能够快速提升开发效率并保证代码质量。