zot*_*guy 2 aop spring design-patterns aspectj strategy-pattern
谁能告诉我如何在AOP中实施战略模式?
使用Spring-AOP或AspectJ的示例将非常有用.
我找到的最简单的方法是让你的类实现一个空白的界面.
然后使用AspectJ将实现插入到接口中.
这样,如果您需要更改算法,您可以使用不同的方面,问题就解决了.
为此,您可以查看有关如何使用inter-type的手册:http: //www.eclipse.org/aspectj/doc/released/progguide/starting-aspectj.html#inter-type-declarations
更新:由于downvote我将假设有些人不会理解我在说什么,所以最简单的方法就是一个例子.本文提供了一些将方法注入接口的好例子. http://ramnivas.com/blog/index.php?p=20
这不是实现策略模式,但基本概念是相同的,可以轻松地从一种算法切换到另一种算法,而无需更改代码的任何其他部分.我能看到的唯一另一种方法是使用DI并注入一个新的具体类,每个类都具有相同的策略接口,但这是不可能的.
更新2:以下是一些链接,显示可以使用AOP完成的任务:摆脱设计模式密度:http://www.ibm.com/developerworks/java/library/j-aopwork7/index.html 增强设计模式AspectJ:http://www.ibm.com/developerworks/java/library/j-aopwork6/index.html AspectJ可用于解决一些基本的跨领域问题.使用AspectJ可以轻松实现或退出大多数GoF设计模式.
| 归档时间: |
|
| 查看次数: |
1560 次 |
| 最近记录: |