• winform开发框架之模块维护


    前言:模块维护试图解决的问题,

    模块加载只用MEF的方式:

    MEF(Managed Extensibility Framework)是一个用于创建可扩展的轻型应用程序的库。 应用程序开发人员可利用该库发现并使用扩展,而无需进行配置。 扩展开发人员还可以利用该库轻松地封装代码,避免生成脆弱的硬依赖项。 通过 MEF,不仅可以在应用程序内重用扩展,还可以在应用程序之间重用扩展。(摘自MSDN),

    场景:如果是单机版的软件,添加一个模块只用把一个dll放在程序文件夹里,然后重启软件,就出现了响应模块的操作,这就是插件开发?

    gzframework用到了这一点

    image

    功能实现,可独立运行程序

    新建一个window应用程序

    添加引用

    GZFramework.Demo.Library

    GZFramework.Demo.SystemManagement

    删除Form窗体,修改Program.cs代码

            /// <summary>
            /// 应用程序的主入口点。
            /// </summary>
            [STAThread]
            static void Main()
            {
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);
    
                //GZFramework框架配置
                new GZFramework.Demo.Library.Config.Config();
    
                //调用系统管理中模块管理功能
                var frm = new GZFramework.Demo.SystemManagement.frmModuleUpdate();
                frm.UserAuthority = GZFramework.UI.Core.FunctionAuthority.All;//设置功能所有权限
    
                Application.Run(frm);
            }

    到此,已经完成系统管理单独调用exe

    模块管理功能实现

    1.新建一个窗体,集成自:GZFramework.UI.Dev.LibForm.frmBaseChild

    运行结果

    image

    单独exe运行界面

    image

    模块维护更直观!!

    模块和功能顺序可直接拖拽调整

    11

    慎于行,敏于思!GGGGGG
  • 相关阅读:
    vim同时打开编辑多个文件
    OOB区之初认识
    nandflash擦除、写操作的状态判断
    NFS挂载文件系统:unable to get mount port number from server, using default
    交叉调试出错
    (转)C++中extern “C”含义深层探索
    arm汇编程序中的[|]
    nanflash编程的地址问题
    c# ListView控件的常用屬性、方法及事件
    ListBox常用屬性和常用事件
  • 原文地址:https://www.cnblogs.com/GarsonZhang/p/4896994.html
Copyright © 2020-2023  润新知