C#面向插件级别的软件开发 - 开源研究系列文章
2018-01-07 17:20
811 查看
在现在的面向对象的分析与设计软件开发过程中,最开始就是面向对象的软件开发。但是,在实际的软件开发过程中,很多都是面向接口的开发方式,这种是一种面向对象开发的模式。但是,今天笔者给大家带来的是面向插件的软件开发方式,典型的例子就是播放器Winamp和Photoshop的模式。这种方式是一种较为普遍的模式,但是这种模式的好处是只要设计好了接口,面向插件的模式就能够成功的对主程序和插件程序进行实际开发,开发商只要维护好主程序即可,插件程序开发者只针对自己开发的插件程序进行开发,分开来进行维护,各自处理好自己的程序即可,这种模式目前在很多的软件上已经实践了。今天,笔者就针对C#的插件程序开发做一个介绍。
一、首先,添加相关的类库;
先添加解决方案中的其它组件。这里这个AboutInterface是用于显示各组件的关于窗口使用的。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201801/07/4da896da9bfc05ac635e4858a30d9229.png)
二、添加主程序;
![](https://oscdn.geek-share.com/Uploads/Images/Content/201801/07/043276e93e254e751569e3b4aeb48eda.png)
这里的组件能够划分为独立的DLL文件来进行处理。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201801/07/c3d00ee680d172f6b8f3fa64d474e93f.png)
这里创建一个公共的数据对象。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201801/07/22568343ff4ce6225a49c18c7a0eb4fe.png)
这里使用反射获取DLL组件内容,用以调用显示关于窗口等内容。
三、添加插件程序接口;
![](https://oscdn.geek-share.com/Uploads/Images/Content/201801/07/eb45bb3e204b0ee4f65603488abb39bc.png)
四、根据接口实现插件程序;
![](https://oscdn.geek-share.com/Uploads/Images/Content/201801/07/462287dc133571a0548e2f92bd803e7e.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201801/07/cad544837933c1870269eeab42637c82.png)
五、测试;
![](https://oscdn.geek-share.com/Uploads/Images/Content/201801/07/5f35f5d5457a0b4e5be9ff3725dcf073.png)
上述对面向插件的软件开发的一个例子做了介绍。希望对有需要的朋友以帮助。
本文代码主要针对关于窗口等做了简要的操作即可。其它的插件窗口需要传输公共的接口数据对象。
下面提供解决方案下载:https://pan.baidu.com/s/1i4T0CYx
一、首先,添加相关的类库;
先添加解决方案中的其它组件。这里这个AboutInterface是用于显示各组件的关于窗口使用的。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201801/07/4da896da9bfc05ac635e4858a30d9229.png)
二、添加主程序;
![](https://oscdn.geek-share.com/Uploads/Images/Content/201801/07/043276e93e254e751569e3b4aeb48eda.png)
这里的组件能够划分为独立的DLL文件来进行处理。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201801/07/c3d00ee680d172f6b8f3fa64d474e93f.png)
这里创建一个公共的数据对象。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201801/07/22568343ff4ce6225a49c18c7a0eb4fe.png)
这里使用反射获取DLL组件内容,用以调用显示关于窗口等内容。
三、添加插件程序接口;
![](https://oscdn.geek-share.com/Uploads/Images/Content/201801/07/eb45bb3e204b0ee4f65603488abb39bc.png)
四、根据接口实现插件程序;
![](https://oscdn.geek-share.com/Uploads/Images/Content/201801/07/462287dc133571a0548e2f92bd803e7e.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201801/07/cad544837933c1870269eeab42637c82.png)
五、测试;
![](https://oscdn.geek-share.com/Uploads/Images/Content/201801/07/5f35f5d5457a0b4e5be9ff3725dcf073.png)
上述对面向插件的软件开发的一个例子做了介绍。希望对有需要的朋友以帮助。
本文代码主要针对关于窗口等做了简要的操作即可。其它的插件窗口需要传输公共的接口数据对象。
下面提供解决方案下载:https://pan.baidu.com/s/1i4T0CYx
相关文章推荐
- CDMP配置化分布式软件开发平台(系列文章)
- Jquery系列文章之开发插件(11章)
- 使用XML序列化实现系统配置 - 开源研究系列文章
- Eclipse插件开发系列文章---序
- 插件体系结构软件开发方法研究
- 小巧的日志记录组件 - 开源研究系列文章
- 3000元的订单如何难倒100人的开发团队(Zoomla!逐浪CMS软件研究院《中国软件外包系列研究》文章之二)
- [毕业生的商业软件开发之路]系列文章目录规划
- LAMP系列文章之二:源码级别研究Apache?
- 面向方面软件开发研究
- LAMP系列文章之二:源码级别研究Apache?
- 【软件测试自动化-QTP系列讲座 17】 == 揭开QTP的神秘面纱 (四)插件开发 == (入门篇)
- “面向状态软件开发”学习笔记一(整理LeWolf的文章)
- MP3文件ID3信息编辑器代码开源 - 开源研究系列文章
- [置顶] 面向对象软件开发的后期调优系列之一 : 用好计时器
- 面向对象软件开发的后期调优系列之一 : 用好计时器
- 磁性窗体源码开源 - 开源研究系列文章
- 跨平台软件开发(C++)系列文章目录
- 软件工程系列- 软件开发的可行性研究
- 软件生存周期活动系列 之 1.软件可行性研究与项目开发计划