可扩展体系结构的研究(三)--体系的一些元素
程序核心
平台的核心执行插件加载器的角色,动态加载插件。本系统中的插件是一个被清单(manifest)xml文件定义的组件。核心明白被安装插件,以及他们提供的功能。功能被添加到核心中使用通常的目录方式()。路径指向完全定义好的扩展点,在这一点插件可以被用来提供一些功能,或是用来扩展平台。通过给扩展树增加路径,插件可以顺序的被其他插件扩展。
扩展树是唯一的为平台和其他插件增加功能的机制。所有的插件都是用这种方式。
因为是用.net平台,所以扩展不仅仅可以使用C#语言,插件可以用其他.net语言创建,当然还包括来自第三方的实现了.net规范的语言。
全局属性
属性引擎实现了储存所有形式的配置变量的方式。有一种应用程序范围的属性类将定制属性储存在当前用户的个人文件夹的一个文件中。
资源
现在的应用程序需要有定位资源的能力。核心定义了一个类,用来为应用程序定位文件和图像。
GUI层
某种程度上,由于应用程序的需求而将特定GUI API抽取出来总是个好主意。因此核心定义了一个很薄的层,用来封装windows.form API。这种方式可以使应用程序很方便的转向其他的GUI开发包(即在不改变其他程序的前提下,只需适用不同的GUI包就可以使界面有不同的风格)。