首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > .NET > C#.NET > Agile Framework功能介绍(1):自动事件连接
【标  题】:Agile Framework功能介绍(1):自动事件连接
【关键字】:Agile,Framework
【来  源】:http://blog.joycode.com/5drush/archive/2006/01/12/70290.aspx

Agile Framework功能介绍(1):自动事件连接

采用Agile Framework框架开发企业应用程序会编写大量的业务组件,这些组件都是被作为插件插入到框架中,结构上是完全解耦的。虽然按照SOA的设计理念在每个子系统之间不应该存在直接通信,但是有时候也可能需要在组件之间通信,比如和基础子系统或工作流组件通信。

因为,为了能保持最大程度的保持组件之间解耦状态,Agile Framework提供了组件之间的事件自动连接机制(Castle也提供了一个EventWiringFacility,提供了同样的功能,但是有一个比较严重的Bug:假如在系统中存在相互之间都有发布和订阅关系的组件就会造成死循环)。

在Agile Framework中使用自动事件连接非常简单,只需要对发布的事件打上EventPublisher特性,然后在订阅方法上打上EventSubscriber标记,框架就会自动的把具有相同eventkey的事件连接起来:

public class Publisher
{
    [EventPublisher(
"eventkey""description")]
    
public event EventHandler<CommonEventArgs<String>> EventPublished;

    
public void RaiseEvent(string data)
    {
        
if (EventPublished != null)
            EventPublished(
thisnew CommonEventArgs<String>(data));
    }
}

public class Substriber
{
    
private string recievedArgs;

    [EventSubscriber(
"eventkey")]
    
public void EventSubstribe(object sender, CommonEventArgs<String> args)
    {
        recievedArgs 
= args.Args;
    }
}

这样,当Publisher触发了EventPublished之后,Substriber就会接受到这个事件。

关于Agile Framework更多信息请访问:敏捷实验室

泛型技巧系列:用泛型打造可复用的抽象工厂:【上一篇】
关于master中的系统存储过程使用的database:【下一篇】
【相关文章】
  • Spring Framework的公司Interface21的公司理念-推荐
  • 不可错过的MSDN TV —— IronPython: Python on the .NET Framework (中)
  • 不可错过的MSDN TV —— IronPython: Python on the .NET Framework (上)
  • 介绍Agile Framework
  • 在eclipse为核心的framework中支持Jsp
  • Spring Framework标记库初学指南
  • NickLee.Framework.V.1.8.1整体构架支持分布式查询和分布式事务
  • 基于Ogre的Framework简介
  • 使用简单的Ajax Framework -MagicAjax.NET
  • 技术评论与随想——AJAX、Rails、WebFramework、SSE
  • 【随机文章】
  • QQ安全软件,保护你的QQ(5)
  • 编程解除注册表和IE主页的锁定
  • 正则表达式 全攻略
  • 捧腹搞笑 看帖不回帖的N种后果(多图)
  • 描述和生成闲聊脚本
  • Oracle 中返回最大值和返回前几个较大值(TOP10)问题一解
  • 攻击实例
  • Photoshop帮你的MM处理照片偏色
  • JAVA中关于树型图以及文件过滤器的基本实例代码(转贴请署名出处^_^)
  • 《神迹》力士没钱了怎么办
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 软讯网络 All Rigths Reserved.