前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >基于DotNet构件技术的企业级敏捷软件开发平台 AgileEAS.NET - 插件运行容器

基于DotNet构件技术的企业级敏捷软件开发平台 AgileEAS.NET - 插件运行容器

作者头像
魏琼东
发布2018-01-11 16:33:57
5310
发布2018-01-11 16:33:57
举报
文章被收录于专栏:魏琼东魏琼东

     上一篇AgileEAS.NET之插件接口IModule中我们介绍了EAS.NET模块插件契约,在本文我们将介绍一下调用插件的运行容器,即平台。

     废话不说了,下面我贴出传统WinForm容器和SmartClient容器的运行效果:

WinFrom运行容器1
WinFrom运行容器1

     看不清楚图片的朋友,请打开原图看吧,这是基于WinFrom技术的插件运行效果,目前插件在容器中的运行方式有两类,第一类是直接嵌入到容器界面中,如上图一个标签页代码一个模块插件,另一类是以独立的WinForm方式运行,如下图:

WinFrom运行容器2
WinFrom运行容器2

     我们提供基于导航列表以及工具条和菜单结合的两种模块插件导航方式,默认情况下,左边导航列表或者导航树自动收起的,在具体应用项目中,可以根据情况选择何种导航方式,菜单或者导航中的一个叶子项均指向一个目标模块插件的。

导航
导航

     当某个操作员(账户)登录平台后,平台权限检查系统加载登录操作员所拥有执行权限的模块并加载到业务导航栏和导航菜单,最后秀一下登录界面。

login
login

      特别提示一下,AgileEAS.NET平台运行容器为了支持应用开发商的发布和变更,对运行容器的界面做了一套资源系统,应用开发商可以在配置文件中变更资源文件以达到变更系统名称、显示图片的目的,比如:

login2
login2

      SmartClient运行容器在标准WinForm容器基础上,增加了智能客户端支持:包括应用系统的智能部署升级及可选的分布式数据访问,下面简单展示一下WebFrom运行容器。

      在这些运行容器中,平台调用插件,但是在一些应用中,模块插件需要调用别的模块插件,这个又怎么做呢,我们抽取了一个基础接口IApplication:

代码语言:javascript
复制
IApplication/// <summary>
/// 定义平台应用(容器)的基本规范。
/// </summary>
public interface IApplication
{
    /// <summary>
    /// 获取应用程序名称。
    /// </summary>
    string Name { get;}

    /// <summary>
    /// 运行模块。
    /// </summary>
    /// <param name="module">模块类型。</param>
    void RunModule(Type module);

    /// <summary>
    /// 运行模块。
    /// </summary>
    /// <param name="module">模块Guid。</param>
    void RunModule(Guid module);

    /// <summary>
    /// 运行模块。
    /// </summary>
    /// <param name="module">模块实例。</param>
    void RunModule(IModule module);
}

      IApplication接口中,我们定义了RunModule方法,插件可以通过AgileEAS.NET应用上下中的IApplication实现对其他IModule的调用。

      我会在接下来的文章中,我将会对介绍ActiveXFrom运行容器及插件的扩展体系。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2010-04-21 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档