插件式程序开发及其应用(C#)
1、??定義
所謂“插件模型”,指應(yīng)用程序由一些動態(tài)的獨立模塊構(gòu)成,每個模塊均具有一個或多個服務(wù),并滿足一定的插件協(xié)議,能夠借助主程序?qū)崿F(xiàn)主程序-插件;插件-插件之間的通訊。
應(yīng)用該模型的系統(tǒng),具有以下特點:
1)??????所有業(yè)務(wù)功能均是“磚塊”,更新及維護簡便
2)??????子系統(tǒng)的概念變得模糊,子系統(tǒng)是多個模塊的組合
3)??????有效避免功能的重復開發(fā)
4)??????可以根據(jù)用戶需求定制系統(tǒng),真正的隨需而變
5)??????當功能插件達到一定規(guī)模時,應(yīng)用系統(tǒng)的開發(fā)將變成二次開發(fā)
6)??????實現(xiàn)化整為零的組織結(jié)構(gòu),每個模塊由微小的團隊負責,甚至一個人負責
7)??????開發(fā)能力要求降低,類似于報表、查詢等易變、簡單的模塊,維護人員即可完成
?
2、??體系結(jié)構(gòu)組成
???????系統(tǒng)結(jié)構(gòu)如下圖:
?
圖一?系統(tǒng)結(jié)構(gòu)示意圖
???????系統(tǒng)組成元素如下:
1)??????應(yīng)用程序
2)??????應(yīng)用程序配置文件
3)??????插件協(xié)議
4)??????插件
5)??????共通組件、控件
6)??????遠程訪問代理
7)??????中間層
8)??????底層數(shù)據(jù)庫
?
3、??詳細說明
1)????????應(yīng)用程序
應(yīng)用程序是用戶操作的平臺,也是所有業(yè)務(wù)插件的容器,其本身不會有太多的功能,主要通過讀取配置文件來配置整個應(yīng)用程序;包含以下功能:
·主畫面
·界面配置管理
·插件管理
2)????????應(yīng)用程序配置文件
包括界面配置和插件配置,采用加密過的XML文件保存配置
·界面配置
·插件配置
3)????????插件協(xié)議(PluginSdk)
是整個插件模型的運行核心,主要包括用于插件的基類和用于通訊的控制類
·插件基類(PluginBase)
·插件控制類(PluginControl)
4)????????插件
基于插件協(xié)議,借助共通插件、控件及遠程訪問代理和業(yè)務(wù)層配合實現(xiàn)特定的業(yè)務(wù)
·插件基類派生類
·業(yè)務(wù)功能實現(xiàn)類
5)????????共通組件、控件
是整個體系的運行基礎(chǔ),也是產(chǎn)品化的基礎(chǔ)
·權(quán)限控制套件
·界面控件庫
·常量庫
·工具庫
6)????????遠程訪問代理
也許系統(tǒng)是基于Web服務(wù)的,也許系統(tǒng)是基于其它服務(wù)的,總之系統(tǒng)的業(yè)務(wù)實現(xiàn)很大部分放在遠程,這個代理就可以讓客戶端很好的訪問遠程服務(wù)。
·遠程訪問代理類
7)????????中間層
實現(xiàn)客戶端與數(shù)據(jù)庫端的通訊,拋開繁雜的層次步驟,提供簡單高效的通訊服務(wù)
·服務(wù)外觀層(Web Service)
·數(shù)據(jù)訪問層(DataAccess)
·數(shù)據(jù)庫代理(DBHelp)/中間件(MiddleWare)
8)????????底層數(shù)據(jù)庫
可以是Oracle,也可以是SqlServer(在實現(xiàn)中間件的前提下),在現(xiàn)有情況下,主要業(yè)務(wù)還由存儲過程來實現(xiàn)。
原文鏈接:插件式程序開發(fā)及其應(yīng)用(C#) - 3(整理后的完善版本)
轉(zhuǎn)載于:https://www.cnblogs.com/rainbow70626/p/4728677.html
總結(jié)
以上是生活随笔為你收集整理的插件式程序开发及其应用(C#)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2.监控软件zabbix-客户端安装
- 下一篇: iOS使用UIScrollView实现左