• 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
  • 相关阅读:
    Unity UGUI基础之Text
    Unity UGUI之Canvas&EventSystem
    ROS(indigo)国外开源示例包括多机器人控制等基于V-Rep和Gazebo的仿真
    lk中内联调用的dsb()
    svn 回退/更新/取消至某个版本命令详解
    ubuntu16.04中可以用于教学的有趣的应用
    高级UI晋升之布局ViewGroup(四)
    高级UI晋升之常用View(三)下篇
    高级UI晋升之常用View(三)中篇
    高级UI晋升之常用View(三)上篇
  • 原文地址:https://www.cnblogs.com/GarsonZhang/p/4896994.html
Copyright © 2020-2023  润新知