基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET平台开发指南 - 实现插件
2010-09-13 09:17
1101 查看
插件契约介绍
我们知道,要基于平台(容器)加插件的这种模式进行开发,我们必须定义一组契约,用于约束模块插件开发,也就是说,模块插件需要遵守一定的标准进行开发,才能正常被容器调用,这就是IModule所定义的内容。IContainer /// <summary> /// 定义插件的运行容器接口。 /// </summary> public interface IContainer { /// <summary> /// 获取应用程序名称。 /// </summary> string Name { get;} /// <summary> /// 获取容器上下文环境。 /// </summary> IContext Context { get; } /// <summary> /// 获取容器的当前会话。 /// </summary> ISession Session { get; } /// <summary> /// 运行模块。 /// </summary> /// <param name="module">模块实例。</param> void StartModule(object module); /// <summary> /// 运行模块。 /// </summary> /// <param name="module">模块类型。</param> void StartModule(Type module); /// <summary> /// 运行模块。 /// </summary> /// <param name="module">模块Guid。</param> void StartModule(Guid module); /// <summary> /// 运行模块。 /// </summary> /// <param name="module">模块实例。</param> void StartModule(IModule module); /// <summary> /// 关闭模块。 /// </summary> /// <param name="module">模块实例。</param> void CloseModule(object module); /// <summary> /// 关闭当前模块。 /// </summary> void CloseModule(); /// <summary> /// 关闭模块。 /// </summary> /// <param name="module">模块实例。</param> void CloseModule(IModule module); }
通过接口定义我们可以知道,他提供了当前系统的账户、会话、应用程序上下文环境(IOC容器)、会话上下文环境等等。
在当前会话中定义了当前系统的各种会话资源如数据库连接、ORM访问器等等开发基础资料,程序员可以通过
IConnection dncn = Session.Resouces.FindResources(typeof(IConnection))[0] as IConnection;
的方式进行取得各种资源进行业务处理。
插件的调试
在最初的AgileEAS.NET平台版本中,是没有调试环境的,大概在2.0版本中加入了调试环境,WinForm的开发有独立的调试环境,WebForm的开发使用WebForm的运行容器直接调试:WinForm应用开发中,提供了一个EAS.Develop.Debuger.dll的程序集,由它给我们的插件提供一个模拟的WinForm运行容器,怎么使用这个调试环境呢,首先在应用开发的VS解决方案中,增加一个新的应用程序项目AppStart,引用及其甩依赖的程序集,添加一个Start类并增加如下代码:
/// <summary> /// 调试器启动类。 /// </summary> class AppStart { /// <summary> /// AgileEAS.NET调试器入口。 /// </summary> [STAThread] static void Main() { EAS.Develop.Debuger.Application.Start(); } }
并修改配置文件中的Assembly配置项的值为需要调试的程序集名称:
<ConfigurationItem name="Assembly" value="EAS.Windows.FullExam"/>:
插件调试环境使用与真实运行环境的配置文件,同样的会话、同样的上下文环境,同样的系统会话资源,这一切都由系统配置文件进行配置。
链接
AgileEAS.NET平台开发指南-系列目录
AgileEAS.NET应用开发平台介绍-文章索引
AgileEAS.NET官方网站
敏捷软件工程实验室
QQ群:116773358
相关文章推荐
- 基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET平台开发指南 - 实现业务
- 基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET - 插件标记实现
- 基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET - 模块插件集成
- 基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET - 文章汇总及学习指南 推荐
- 基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET - 插件接口IModule扩展
- 基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET平台开发指南 - 处理报表
- 基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET平台开发指南 - 报表系统集成说明
- 基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET平台开发指南 - 开发流程
- 基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET平台开发指南 - 数据层开发
- 基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET - 模块插件组织
- 基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET平台开发指南 - 对象设计器使用帮助
- 基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET平台开发指南 - 数据访问
- 基于DotNet构件技术的企业级敏捷软件开发平台 AgileEAS.NET - 插件接口IModule
- 基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET - 服务定位器(SL)与AgileEAS.NET中的实现
- 基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET平台开发指南 - 系列目录
- 基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET平台开发指南 - 分布式应用
- 基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET平台开发指南 - 配置文件
- 基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET - 文章汇总及学习指南
- 基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET平台开发指南 - 应用部署
- 基于DotNet构件技术的企业级敏捷软件开发平台 AgileEAS.NET - 插件运行容器