您的位置:首页 > 其它

基于DotNet构件技术的企业级敏捷软件开发平台 AgileEAS.NET - 插件接口IModule

2010-04-20 21:41 791 查看
  我们知道,要基于平台(容器)+插件的这种模式进行开发,我们必须定义一组契约,用于约束模块插件开发,也就是说,模块插件需要遵守一定的标准进行开发,才能正常被容器调用,这就是IModule所定义的内容。

IPrivilegObject/// <summary>
/// 系统权限对象的基本规范。
/// </summary>
public interface IPrivilegObject
{
/// <summary>
/// 获取权限对象的全局唯一标识符(GUID)。
/// </summary>
System.Guid Guid { get; }

/// <summary>
/// 获取权限对象的类型信息,即对象的类名称。
/// </summary>
string Type { get; }

/// <summary>
/// 获取对象权限对象名称。
/// </summary>
string Name { get;}

/// <summary>
/// 获取对象的版本信息。
/// </summary>
string Version { get;}

/// <summary>
/// 获取对象的程序集信息。
/// </summary>
string Assembly { get;}

/// <summary>
/// 获取对象的开发者信息。
/// </summary>
string Developer { get;}
}


IPrivilegObject为权限对象接品,平台(运行容器)可以使用其鉴权系统对其实现权限检查,关于系统的权限设计我会在后面专门进行说明。

在模块插件的接口中,我们看到了很多关于模块自描述的信息,比如名称、说明、类型、程序集、版本号以及开发者等等,定义这些信息的目的在于对模块的自描述,资源管理平台在安装模块的过程中读取这些元数据并存储在数据库,以方便对系统中插件的管理。

模块元数据中定义的程序集、类型信息用于容器反射调用插件,这也是平台+插件所依赖的关键技术。

在具体的应用开发中,针对WinFrom和WebForm的不同应用对IModule接口进行了某些扩展和基础实现,用于在应用开发过程的特定应用,以加快开发速度。

   在下一篇文章中,我将会对调用模块插件的平台,也就是运行容器做介绍。

链接:AgileEAS.NET应用开发平台介绍
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐