Eclipse 平台用一个称为应用程序模型
的抽象来描述一个应用程序的结构,应用程序模型包含可见元素,也包含不可见元素。可见元素包括窗口、Parts(视图和编辑器),菜单、工具栏等等。不可见元素包括Handlers
、Commands
、按键绑定等等。
每个模型元素包含属性来描述它当前的状态,例如窗口的位置和大小,应用程序模型也通过层次来表达模型元素之间的关系。
应用程序模型定义了应用程序的结构,例如,它描述了哪些 Parts 是有效的,也描述了 Parts 的属性,例如,Part 是否可以关闭,它的标签,ID,等等。
在 Part 中显示的独立用户接口控件,不是通过应用程序模型定义的,即,Part 的内容还是通过源代码来定义。
如果应用程序模型是一间屋子,它将描述有效的房间(Parts)以及它们的排列方式(透视图,Part 栈,Part Sash 容器),但是不包括房间里的家具,这通过下图解释。
应用程序模型的基础通常定义为静态文件,默认的,它叫作Application.e4xmi
,放在插件的主目录中,定义了产品的扩展。
这个文件在应用程序启动时读取,用来构造最初的应用程序模型,用户的修改被持久化保存,并在启动时重新应用。
应用程序模型是可扩展的,例如,其它插件可以通过模型处理器
(Model Processors)以及模型碎片
(Model Fragment)来为它贡献内容。