到目前为止,一个完整的流程设计器已基本完成,为了增加系统的可扩展性,比如目前活动的类型有三种,假如以后我们要增加活动的类型,怎么办?按照目前的做法,我们只能修改代码,为了使系统的扩展性更好,即我们如果要增加活动类型,只需要修改配置文件,而无须修改现有系统的代码,为此,我们把活动类型定义一个扩展点,用户以后要增加活动类型,只需扩展这个扩展点就可以了。(代码)
在plugin.xml文件中,增加扩展点,Id为activity,Name为Activity,Schema为schema/activity.exsd
activity.exsd具体内容如下:
定义这个扩展点有若干个活动节点组成,每个活动节点具有name,description,type,figure,icon属性,其中icon属性代表活动在编辑器托盘中显示的图标,有大小两种图标,而figure是活动要在编辑器区域显示图形对应的类,这个类必须实现IFigure接口,type代表活动类型。
定义完这个扩展点后,我们再在plugin.xml中自己扩展这个扩展点,代码如下:
如果以后要增加活动类型的话,直接在这里扩展就可以了,要实现不修改原来的代码,就增加活动类型的话,还必须修改一些地方。