插件框架ExpressPlugin介绍

 1.什么是插件?

 一般的定义是:插件(Plugin)是一种遵循统一的预定义接口规范编写出来的应用程序,应用程序在运行时通过接口规范对插件进行调用,以扩展应用程序的功能。个人的理解,插件就是一种应用程序功能的即插即用(Plug-and-Play),即在应用程序运行时(run-time)动态添加或者移除程序功能,实现应用程序的灵活扩展。
 
2.什么是插件框架?
  框架(Framework)是整个或部分系统的可重用设计,可被应用开发者定制的应用骨架。现在这个概念似乎被过度滥用,很多开发组件或者控件都被加上框架的头衔。严格说来,ExpressPlugin并不能称为框架,只能算是一个插件容器,它定义了一组插件接口规范,并识别和加载符合规范的自定义插件,从而达到改善和扩展应用程序的目的。
 
3.ExpressPlugin简介。
  ExpressPlugin是一个基于.NET开发的插件框架,参考和借鉴了开源软件SharpDevelop,这是一个轻量级的集成开发环境(IDE),也是一个强大的插件系统。SharpDevelop是优秀的,是值得研究和学习的,但对于普通开发人员来说也是复杂的。为此,对它进行了一些概念上的抽取和简化,代码上做了大量精简,去除了一些不常用的功能,使得插件框架更易于理解和掌握,并提供可视化的配置工具,从而有了这个简单的框架ExpressPlugin。
 ExpressPlugin插件结构源于典型WinForm窗体,通常应用程序界面会有这样几类控件构成:面板、主菜单、工具栏、右键菜单、状态栏。如下图:
 
由此,ExpressPlugin的插件类型对应于WinForm窗体中的组成要素:面板、主菜单、工具栏、右键菜单,通过开发各种不同类型的插件,我们可以不断扩展和丰富自己的应用程序。
  插件系统最大的特点即是灵活的扩展和定制能力,为了方便应用程序的定制和部署,ExpressPlugin提供了系统配置工具,如下图:
 
经过以上简单配置之后,即得到了我们的应用程序,运行界面如下:
4.ExpressPlugin能为你带来什么?
  快速开发和搭建应用程序
 开发方式的变革:并行开发
   系统功能之间的松耦合
   减少开发代码量
 轻松实现权限控制和系统升级
 有利于开发成果的复用和组合
  多种界面风格
 方便系统分发和定制
 
5.ExpressPlugin不能做什么?
 提到框架,人们总容易想到工作流和系统定制引擎,以及ORM工具一类的组合,但ExpressPlugin仅仅只是一个插件容器,它提供的只是搭建插件应用程序的基础和接口规范,至于在此基础上搭建什么样的应用程序,完全取决于最终用户的需求。由此,它并不能满足下列需求:
   实现工作流
 自动处理业务逻辑
 生成数据库访问代码(ORM工具)
原文地址:https://www.cnblogs.com/qingteng1983/p/1728275.html