IoC+AOP的简单实现

  对EnterLib有所了解的人应该知道,其中有一个名叫Policy Injection的AOP框架;而整个EnterLib完全建立在另一个叫作Unity的底层框架之上,我们可以将Unity看成是一个IoC的框架。对于一个企业应用来说说,AOP和IoC是我们进行逻辑分离和降低耦合度最主要的方式,而将两者结合起来具有重要的现实意义。

  一、基于IoC+AOP的编程

  到底将IoC和AOP进行整合后,会对编程但来怎样的影响,我写了一个简单的例子(你可以从这里下载该实例)。假设我现在有两个模块,分别称为Foo和Bar,通过如下同名的类来表示。Foo和Bar具有各自的接口,分别为IFoo和IBar。简单起见,我在两个接口中定义了相同的方法:DoSomething。在Foo中,具有一个类型为IBar的只读属性,而DoSomething的实现就是通过调用该属性的同名方法实现。

   1: public interface IFoo
   2: {
   3:     void DoSomething();
   4: }
   5:    
   6: public interface IBar
   7: {
   8:     void DoSomething();
   9: }    
  10: [FooCallHandler]
  11: public class Foo : IFoo
  12: {
  13:     public IBar Bar { get; private set; }
  14:     public Foo(IBar bar)
  15:     { this.Bar = bar; }
  16:     public void DoSomething()
  17:     {
  18:         this.Bar.DoSomething();
  19:     }
  20: }
  21: [BarCallHandler]
  22: public class Bar : IBar
  23: {
  24:     public void DoSomething()
  25:     {
  26:         Console.WriteLine("Do something...");
  27:     }
  28: }

NET技术IoC+AOP的简单实现,转载需保留来源!

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。