如何实现IoC和AOP的简单架构?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2300个文字,预计阅读时间需要10分钟。
EnterLib是一个理解广泛的库,其中包含名为Policy Injection的AOP框架。整个EnterLib完全建立在另一个名为Unity的底层框架之上,因此我们可以将Unity视为一个IoC框架。对于一个企业应用而言,应该了解这一点。
对EnterLib有所了解的人应该知道,其中有一个名叫Policy Injection的AOP框架;而整个EnterLib完全建立在另一个叫作Unity的底层框架之上,我们可以将Unity看成是一个IoC的框架。对于一个企业应用来说说,AOP和IoC是我们进行逻辑分离和降低耦合度最主要的方式,而将两者结合起来具有重要的现实意义。
到底将IoC和AOP进行整合后,会对编程但来怎样的影响,我写了一个简单的例子(你可以从这里下载该实例)。假设我现在有两个模块,分别称为Foo和Bar,通过如下同名的类来表示。Foo和Bar具有各自的接口,分别为IFoo和IBar。简单起见,我在两个接口中定义了相同的方法:DoSomething。在Foo中,具有一个类型为IBar的只读属性,而DoSomething的实现就是通过调用该属性的同名方法实现。
本文共计2300个文字,预计阅读时间需要10分钟。
EnterLib是一个理解广泛的库,其中包含名为Policy Injection的AOP框架。整个EnterLib完全建立在另一个名为Unity的底层框架之上,因此我们可以将Unity视为一个IoC框架。对于一个企业应用而言,应该了解这一点。
对EnterLib有所了解的人应该知道,其中有一个名叫Policy Injection的AOP框架;而整个EnterLib完全建立在另一个叫作Unity的底层框架之上,我们可以将Unity看成是一个IoC的框架。对于一个企业应用来说说,AOP和IoC是我们进行逻辑分离和降低耦合度最主要的方式,而将两者结合起来具有重要的现实意义。
到底将IoC和AOP进行整合后,会对编程但来怎样的影响,我写了一个简单的例子(你可以从这里下载该实例)。假设我现在有两个模块,分别称为Foo和Bar,通过如下同名的类来表示。Foo和Bar具有各自的接口,分别为IFoo和IBar。简单起见,我在两个接口中定义了相同的方法:DoSomething。在Foo中,具有一个类型为IBar的只读属性,而DoSomething的实现就是通过调用该属性的同名方法实现。

