使用AOP微型框架的例子

王朝other·作者佚名  2006-01-09
宽屏版  字体: |||超大  

在基于前两篇文章给出的AOP微型框架的实现的基础上,我们可以写个例子来测试一下了:)

public class AopControlProxyFactory : IAopProxyFactory

{

#region IAopProxyFactory 成员

public AopProxyBase CreateAopProxyInstance(MarshalByRefObject obj, Type type)

{

return new AopControlProxy(obj ,type) ;

}

#endregion

}

//自定义真实代理

public class AopControlProxy : AopProxyBase

{

public AopControlProxy(MarshalByRefObject obj ,Type type) : base(obj ,type)

{

}

public override void PreProcess(IMessage requestMsg)

{

Console.Write("Begin Aop !") ;

}

public override void PostProcess(IMessage requestMsg, IMessage Respond)

{

Console.Write("End Aop !") ;

}

}

[AopProxyAttribute(typeof(AopControlProxyFactory))] //将自己委托给AOP代理AopControlProxy

public class Example : ContextBoundObject//放到特定的上下文中,该上下文外部才会得到该对象的透明代理

{

private string name ;

public Example(string a)

{

this.name = a ;

}

[MethodAopSwitcherAttribute(true)]

public void say_hello()

{

Console.WriteLine("hello ! " + name ) ;

}

public void sayByeBye()

{

Console.WriteLine("Bye ! " + name ) ;

}

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有