zoukankan      html  css  js  c++  java
  • 插件式程序开发及其应用(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(整理后的完善版本)

  • 相关阅读:
    Spark SQL ---一般有用
    idea快捷键
    04.Scala编程实战 ---没看
    03.Scala高级特性 ---没看
    02.Actor编程 ---没看
    01.Scala编程基础 ---没看
    附6、Storm面试题目答疑 ---一般有用
    扩展运算符
    ES6新增数组方法(部分)
    for of 循环
  • 原文地址:https://www.cnblogs.com/rainbow70626/p/4728677.html
Copyright © 2011-2022 走看看