CS开发框架核心模型 - 动态加载模块

  CS开发框架核心模型 - 动态加载模块


CS开发框架核心模型 - 动态加载模块


C/S开发框架核心功能之一:


动态加载模块, 所有业务模块完全独立的,框架动态加载而不是静态引用。


模型图如下:

 


模块加载器(ModuleLoader)


ModuleLoader是开发框架的一个类,用于动态加载用户设计的业务模块。

模块加载器支持两种方式:

1. 枚举应用程序目录下所有CSFramework*.DLL文件,将功能集成到主窗体。

2. 根据业务模块配置表(sys_ModuleFiles),动态加载DLL,将功能集成到主窗体。




C# Code:

/// <summary>
/// 加载模块方法
/// </summary>
/// <param name="msg">加载进度</param>
/// <param name="moduleMenus">模块的菜单</param>
public void LoadModules(IMsg msg, MenuStrip moduleMenus, string searchPattern = "")
{
  
  
//加载Dev组件
  
ModuleLoadDevComponent loader = new ModuleLoadDevComponent();
  
  
//****************************************************************
  
//开发框架提供两个方案加载业务模块:
  
//
  
//1.从帐套库的sys_ModuleFileList表获取模块文件清单表
  
//2.枚举程序目录下所有DLL文件
  
//****************************************************************
  

  
if (SystemSettings.Current.ModuleLoadType == ModuleLoadType.ByModuleFileTable)
  {
    
//1.从帐套库的sys_ModuleFileList表获取模块文件清单表
    
DataTable fileList = CommonData.GetDataDict(sys_ModuleFileList.__TableName);
    _Modules
= loader.GetModuleList(fileList);//从运行目录中搜索模块文件
    
}
    
    
if (SystemSettings.Current.ModuleLoadType == ModuleLoadType.SearchAppDir)
    {
      
if (String.IsNullOrWhiteSpace(searchPattern)) searchPattern = Globals.DEF_SYS_MODULE;
      
      
//2.枚举程序目录下所有DLL文件
      
_Modules = loader.GetModuleList(searchPattern);
    }
    
    
if (_Modules == null) throw new CustomException("获取模块清单文件失败!");
    
    
//省略代码
    

  }
  
  
//来源:C/S框架网 | www.csframework.com | QQ:23404761





C/S框架网|原创精神.创造价值.打造精品

扫一扫加微信
C/S框架网作者微信 C/S框架网|原创作品.质量保障.竭诚为您服务


版权声明:本文为开发框架文库发布内容,转载请附上原文出处连接
C/S框架网
发表评论

评论内容
昵称:
关联文章

CS开发框架核心模型 - 动态模块
CS开发框架动态模块技术
CS开发框架核心模型 - WebService技术及网络安全
CS开发框架核心模型 - 支持多帐套功能
CS开发框架核心模型 - 共享主窗体的工具栏(Toolbar)
动态模块是什么意思? 能做到业务模块完全独立吗?
开发框架提供两个方案业务模块
Winform开发框架核心功能 - 主窗体与模块架构
CS框架开发文档之开发框架模块》.doc
CS开发框架高级版 标准版 精简版是共用框架核心部分
DevExpress XtraReport - 动态报表布局模板
Winform快速开发框架平台代码生成器核心优势
新增模块没有 | 左侧的导航菜单栏没显示
C#.NET快速开发框架平台基于DevExpress表格大数据性能测试报告
C/S开发框架支持数据库的FastReport.NET报表模板文件 - 功能升级
关于使用VS2010新建了模块无法的问题
CS开发框架 新增加两个报表模块(报表模板)
.NET快速开发平台核心优势 | C/S框架
C#.Net CS快速开发框架- 新增业务模块(视频下载)
CS开发框架V2.2 - 模块支持多个顶级菜单