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