近日,在金旭亮老师的指导下学习用C#开发插件式程序,对插件式程序开发有了一定得心得体会!欲与众码农共享!
什么是插件式程序开发?
插件的本质在于不修改程序主体(平台)的情况下对软件功能进行扩展与加强,当插件的接口公开后,任何公司或个人都可以制作自己的插件来解决一些操作上的不便或增加新的功能,也就是实现真正意义上的“即插即用”软件开发。插件的本质在于不修改程序主体(平台)的情况下对软件功能进行扩展与加强,当插件的接口公开后,任何公司或个人都可以制作自己的插件来解决一些操作上的不便或增加新的功能,也就是实现真正意义上的“即插即用”软件开发。
插件式程序开发是对面向对象设计原则之“开闭原则”的最好体现,在扩展功能的同时尽可能的少修改主程序代码。
其实,我们说大一点,把一个系统比作一个主程序,而系统上安装的每个应用程序就是插件程序。所以学习插件式程序的开发,对计算机的学习也大有好处。
怎样开发插件式程序?
1.定义主程序,即平台,所有的插件都是基于这个平台,所以这个平台很重要,必须考虑可能的功能扩展。
2.定义接口。这个接口是所有开发的插件都必须实现的,接口中定义了插件开发者可以使用的主程序资源,而主程序亦可以通过该接口访问插件,接口即是主程序和插件联接的“纽带”,关于定义接口的诀窍我在下篇将会提到,不同的插件可能会需要不同的接口,同类型的插件也可能使用相同的接口。
3.对于主程序所提供的资源如果允许插件程序调用,比如窗体、按钮等组件,如果需要告知插件开发者相应的信息还需要定义配置文件,文件中生命了资源的名称和访问方式。
4.主程序中需要有装载插件和解析插件的功能函数,以便插件能够顺利”对接“。
5.建立接口和各个插件的DLL文件