2009年3月6日星期五

Extension-Point和Extension

Eclipse的插件体系设计的非常精到,extension point和extension令人映像深刻。Extension-Point是指系统定义好的,想让别人来扩展的地方,有点类似于电脑主板上的各种插槽,可以插Cpu、内存条等。而Extension是指你根据提供的Extension-Point来进行的扩展实现,类似于你往主板上插上了不同Cpu、内存条。
在自己开发的插件中,可以自己灵活的定义Extension-Point,允许别人来进行扩展。譬如开发一个菜单的插件,然后提供扩展点,允许别人来往菜单上增加菜单项。
这几天,正在了解这方面的知识,Eclipse中的Extension-Point和Extension比较的复杂,自己想“山寨”一个简单一点的。不需要在写.exsd,而是只需要定义OSGI-INF/plugin/ext.xml,在ext.xml来定义extension-point、extension、param-def(name,type[string,class],optional)、param等元素,然后通过各元素的URI来进行绑定。

没有评论:

发表评论