AOP(面向切面编程概念,本文为翻译)

时间:2016-06-18 19:49:34   收藏:0   阅读:248

AOP是什么

AOP为Aspect Oriented Programming的缩写。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。

详情请自行百度或者Google: AOP In  .Net 的应用

 

AOP的应用场景

AOP的最大优势是,你只需要担心方面在一个地方,编程一次和应用所需的所有地方。AOP有很多用途,例如:

如您所见,AOP有许多用途,但是你必须小心使用它。它将保留一些代码在你的视线范围之内,但它鈥檚仍然存在,在每次调用运行方面存在的地方。它可以有缺陷和严重影响应用程序的性能。一个微妙的错误可能花费你很多方面的调试时间。如果你的方面是鈥檛使用在许多地方,有时候鈥檚最好直接将它添加到代码。

AOP实现使用一些常见的技巧:

在.Net框架,其中最常用的技术是后处理和代码拦截。前者所使用的技术是PostSharp(postsharp.net),后者使用依赖注入(DI)容器,如Castle DynamicProxy(bit . ly / JzE631)和Unity (unity.codeplex.com)。这些工具(指依赖注入容器)通常使用 装饰者设计模式 代理 执行代码拦截

应用AOP的优点和缺点

AOP的最大优势是,你只需要担心方面在一个地方,编程一次和应用所需的所有地方。AOP有很多用途,例如:

如您所见,AOP很有用,但是你必须小心使用它。尽管AOP代码实现在不用的类里,,在每次调用运行时AOP都存在于相应的地方。它可能有缺陷,也有可能严重影响应用程序的性能。一个细小的切面Bug可能花费你太多的调试时间。如果你的AOP是至少使用在某一处的时候,最好直接将它添加到代码。

AOP实现使用一些常见的技巧:

在。净框架,其中最常用的技术是后处理和代码拦截。前者是PostSharp所使用的技术(postsharp.net),后者使用依赖注入(DI)容器,如城堡了DynamicProxy(bit . ly / JzE631)和统一(unity.codeplex.com)。这些工具通常使用一个叫装饰的设计模式或代理执行代码拦截。

知识延伸=》装饰设计模式

装饰设计模式解决了一个常见的问题:你有一个类和想要添加一些功能。你有几个选择:

AOP参考

本文翻译自 :https://msdn.microsoft.com/en-us/magazine/dn574804.aspx(面向切面编程)

原文:http://www.cnblogs.com/DripRoad/p/5596137.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!