XT框架是一个由数据驱动的支持多应用多文档多视图的工业软件框架平台。如下图所示,数据以文档(XDocument)为载体和管理中枢,每一种文档都由一套相应的界面代理(UIProxy)基于主框架(MainFrame)为文档提供图形交互服务,数据可以以多种视图形式(XView)显示给用户并接受用户的交互操作,这些视图受界面代理的管理,各种各样的应用功能则通过命令管理器(CommandManager)完成与文档的对接。
主框架的界面基本组成控件包括菜单栏、工具栏、属性窗口、消息窗口、选择窗口、脚本窗口、对象树窗口以及功能对话框,在应用层面包含命令管理器、选择器以及文档队列,其中文档队列负责管理数据,命令管理器负责管理功能命令,选择器主要用于功能交互中选择的数据对象的管理。
给定一个应用场景,那么首先需要明确需要关心的数据,由这些数据出发,确定与用户交互的方式,如何让用户创建、修改、删除数据,如何显示给用户等等,接着将工作流程分解为若干个输入输出明确的步骤,对每一个步骤确立具体的交互方式使之成为一个独立的功能,然后把这些功能整合到界面上,最后便构建了应用场景下的一套解决方案。上述过程也是在XT框架下开发应用程序的基本流程:
在完成以上开发之后,运行时主框架首先按照应用设置文件载入库,在载入库的过程中实现数据对象的注册、应用功能的注册,在主框架界面启动完成之后,数据对象、应用功能都变为可用,如用户新建一个文档,主框架会根据文档的信息自动创建对应的界面代理并配置功能入口、布局各通用控件,然后便进入数据与用户的循环交互过程中直至用户关闭程序。