可扩展体系结构的研究(二)--一些新的概念和框架基础
我想用的新方法是试图使扩展的插件比传统的外部程序的方式拥有更大的能力和灵活性。我想要微核心代码和其他已扩展程序的工作方式应该由外部的扩展的插件合作来决定,从而扩展它们互有的能力。这种方式必须简单、可扩展并且不依赖于原有的应用程序的类型。
我意识到要完成这种很单纯的插件系统的唯一方法,就是应该从底层构建起依赖于插件模型,并在这个基础上设计应用程序。
整个应用程序是基于一个很小的核心系统。所有功能都是由插入这个微核心系统的一个或多个插件来实现。
在这个微核心系统的内部,一些用来扩展核心功能的基本子系统应该被定义好。
子系统(在微核心之外的应用程序的模块)和插件定义了一种可扩展树结构(一个实现较大功能插件—模块,可能被设计成为一个节点,这个节点下面又可以插入其他节点)。而可以被扩展的路径(路径是用来从树上寻找一个节点,一个路径表达式对应一个节点,每一个用“/”分割的部分代表不同的层,路径是从root开始寻找的,并定位到目的节点,这很类似于XPATH的方式,也有说是UNIX的方式,反正明白就好)是由构建在微核心系统之上的应用程序来很好定义的。在路径所代表的节点上的插件,可以提供必要的功能。
每一个应用程序的主要模块,会实现关键的功能,并且会被设计成一个新的树结点。