EaBIM一直以来积极响应国家“十二五”推进建筑业信息化的号召,对建筑领域的信息技术开展深入技术交流和探讨!致力于打造“BIM-建筑师-生态技术”三位一体综合资源交流共享平台,希望为BIM与可持续设计理念及技术的普及做出微小的贡献!!!

EaBIM

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
查看: 493|回复: 0
打印 上一主题 下一主题

[架构模式] 插件式程序开发及其应用(C#) - 3(整理后的完善版本)

[复制链接]

1514

主题

7465

帖子

1万

积分

admin

Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10

积分
12406

社区QQ达人

跳转到指定楼层
楼主
发表于 2014-1-10 10:56:01 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
(本文为本人原创,转载请著名作者及本页网址,谢谢-阿P)
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(在实现中间件的前提下),在现有情况下,主要业务还由存储过程来实现。

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 转播转播 分享分享 分享淘帖 支持支持 反对反对
工作时间:工作日的9:00-12:00/13:30-18:00,节假日不在线,请勿留言
*滑块验证:
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|EaBIM网 ( 苏ICP备2020058923号-1  苏公网安备32011502011255号

GMT+8, 2024-11-27 20:36

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表