在现在的面向对象的分析与设计软件开发过程中,最开始就是面向对象的软件开发。但是,在实际的软件开发过程中,很多都是面向接口的开发方式,这种是一种面向对象开发的模式。但是,今天笔者给大家带来的是面向插件的软件开发方式,典型的例子就是播放器Winamp和Photoshop的模式。这种方式是一种较为普遍的模式,但是这种模式的好处是只要设计好了接口,面向插件的模式就能够成功的对主程序和插件程序进行实际开发,开发商只要维护好主程序即可,插件程序开发者只针对自己开发的插件程序进行开发,分开来进行维护,各自处理好自己的程序即可,这种模式目前在很多的软件上已经实践了。今天,笔者就针对C#的插件程序开发做一个介绍。

  一、首先,添加相关的类库;

  先添加解决方案中的其它组件。这里这个AboutInterface是用于显示各组件的关于窗口使用的。

  

  二、添加主程序;

  

  这里的组件能够划分为独立的DLL文件来进行处理。

  

这里创建一个公共的数据对象。

  

这里使用反射获取DLL组件内容,用以调用显示关于窗口等内容。

  三、添加插件程序接口;

  四、根据接口实现插件程序;

  

  五、测试;

  上述对面向插件的软件开发的一个例子做了介绍。希望对有需要的朋友以帮助。

  本文代码主要针对关于窗口等做了简要的操作即可。其它的插件窗口需要传输公共的接口数据对象。

  下面提供解决方案下载:https://pan.baidu.com/s/1i4T0CYx

    Austin Liu  刘恒辉
    Department Manager,Product Manager,Project Manager and Software Designer
    E-Mail:lzhdim@163.com
    Blog:   http://lzhdim.cnblogs.com

C#面向插件级别的软件开发 - 开源研究系列文章相关推荐

  1. 小巧的日志记录组件 - 开源研究系列文章

    今天给大家带来一个小巧的日志记录组件LogHelper.这个组件是由Log4Net这个组件的由来而来的,不过只是写入.txt文本文件而已.如果能够对大家的项目有帮助那就更好了. 首先,打开.SLN解决 ...

  2. html5脑图_基于HTML5的三维思维导图软件开发技术研究

    龙源期刊网 http://www.qikan.com.cn 基于 HTML5 的三维思维导图软件开发技术 研究 作者:汪升华 唐国纯 来源:<软件工程> 2017 年第 10 期 摘 要: ...

  3. [毕业生的商业软件开发之路]系列文章目录规划

    目前[毕业生的商业软件开发之路]系列文章规划出的目录如下,希望靠大家一起完善它,有什么意见欢迎跟帖. 第一章 课程背景 高校毕业生就业问题 高校毕业生就业方式 第二章初入职场 课程说明 关于企业培训 ...

  4. 基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET - 文章汇总及学习指南...

    一.AgileEAS.NET平台简介 AgileEAS.NET平台是一套应用系统快速开发平台,用于帮助中小软件开发商快速构建自己的企业信息管理类开发团队,以达到节省开发成本.缩短开发时间,快速适应市场 ...

  5. 软件开发前言技术系列讲座

    一.最开始的题目 1.大数据 1)大数据背景下软件开发的特点(分条), 2)大数据背景下软件开发要注意什么(或需要关注的是什么). 价值,数据量,速度,复杂度,多样性 2.什么是云计算?(给出你使用过 ...

  6. 软件开发工期估算系列(1)——正確な見積もりはデスマーチ・プロジェクトを救うか?

    [转载按] 日本软件开发工期估算的系列文章,文中提出一个观点:"软件开发技术者的最高能力是--工期估算". 姑且不论这种观点是否正确,工期估算确实是项目开发中的一个比较大的难题, ...

  7. 转:Android IOS WebRTC 音视频开发总结 (系列文章集合)

    随笔分类 - webrtc Android IOS WebRTC 音视频开发总结(七八)-- 为什么WebRTC端到端监控很关键? 摘要: 本文主要介绍WebRTC端到端监控(我们翻译和整理的,译者: ...

  8. 【转】python开发大全、系列文章、精品教程

    版权声明:本文为博主原创文章,转载请注明来源.开发合作联系luanpenguestc@sina.com https://blog.csdn.net/luanpeng825485697/article/ ...

  9. python开发大全、系列文章、精品教程

    全栈工程师开发手册 (作者:栾鹏) python教程全解 python基础教程 python基础系列教程--Python的安装与测试:python解释器.PyDev编辑器.pycharm编译器 pyt ...

最新文章

  1. 如何优雅的在python中暂停死循环?
  2. readelf和ldd分析elf文件
  3. 联想 重装系统后F5 F6键无法使用
  4. 找出素数并升序排列c语言,习题:随机产生N个四位正整数,将其中的素数选出,并升序排列之输…...
  5. c语言从集合中随机选取一个值,从集合中挑选一个随机元素
  6. 经典C语言程序100例之七二
  7. Javascript 深入学习循环
  8. Luogu P3455 [POI2007]ZAP-Queries
  9. 使用Spring boot,Thymeleaf,AngularJS从零开始构建一个新的Web应用程序-第3部分
  10. sklearn 线性回归_机器学习初级算法(二)——线性回归
  11. 拓端tecdat|R语言马尔可夫转换模型研究交通伤亡人数事故预测
  12. linux安装 soapui_SoapUI命令行方式运行
  13. c语言 库仑计_bq27520电量计的量产设计
  14. 10 个最佳 GIS 软件应用程序
  15. WORD中编辑页码方法大全
  16. 一文了解BIOS相关名词
  17. 测绘资质申请标准及好处
  18. GICV2GICV3的基础知识
  19. 史上最全的各种鱼的做法,爱吃鱼的可不要错过哦!
  20. 方案设计阶段的准备工作

热门文章

  1. Linux 计划任务 访问网页
  2. typeof instanceof 之间的区别总结
  3. 深入理解openstack网络架构(2)----Basic Use Cases
  4. 雅虎书面问题——最大的问题汇总
  5. 工业级别sd卡存贮slc mlc tlc
  6. J2EE详细入门教程--人员登入
  7. 解析三层架构(1)---为什么要分层?
  8. Windows Phone 7 不温不火学习之《项目模板》
  9. Zaxis数据编程方法
  10. 《高性能Linux服务器构建实战》笔记