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

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

interface IFoo
   2: {
void DoSomething();
   4: }
   5:    
interface IBar
   7: {
void DoSomething();
   9: }    
  10: [FooCallHandler]
class Foo : IFoo
  12: {
private set; }
public Foo(IBar bar)
this.Bar = bar; }
void DoSomething()
  17:     {
this.Bar.DoSomething();
  19:     }
  20: }
  21: [BarCallHandler]
class Bar : IBar
  23: {
void DoSomething()
  25:     {
);
  27:     }
  28: }

相关文章:

  • 2021-11-07
  • 2021-10-16
  • 2022-02-09
  • 2021-12-15
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-02-21
猜你喜欢
  • 2022-12-23
  • 2021-11-19
  • 2021-11-24
  • 2021-05-26
  • 2022-01-18
  • 2021-09-15
相关资源
相似解决方案