zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    java中Object转String
    Spring中属性文件properties的读取与使用
    Java中parseInt()和valueOf(),toString()的区别
    php第二十一节课
    php第二十节课
    php第十九节课
    php第十八节课
    php第十七节课
    php第十五节课
    php第十四节课
  • 原文地址:https://www.cnblogs.com/GarsonZhang/p/4896994.html
Copyright © 2011-2022 走看看