首先,让我注意,我使用AspectJ,我喜欢它,但是我还能用它做什么呢?
我知道AspectJ可以/是用于日志记录。在某些情况下,它用于事务控制--大部分是与注释一起实现的。AspectJ也可以用于使用(代码生成的)方法增强类,就像Spring所做的那样。
但我认为AspectJ和AOP一般可以用于更多的方面:日志记录、事务控制和模拟部分类。
那么,对于和AspectJ,还有什么有用的用例呢?
发布于 2010-11-30 12:48:05
编辑
虽然我给出这个答案已经很多年了,但我决定添加以下内容,以使答案更加完整。
false但应该返回true的布尔方法。您可以使用AspectJ修复这个问题。发布于 2010-11-30 12:43:28
维基百科条目为您提供了更多的示例(但不是那么多)。通常,面向方面的编程应该只用于实现不属于类的核心关注点的简单行为,这些行为对于不同的类是常见的。一旦您开始将太多的逻辑放在您的方面,代码就会变得非常不可读。
建议的方面(日志记录、事务处理、.)是最常用的。我也要加上安全措施。
发布于 2011-05-02 12:06:49
人们可以使用AspectJ来执行一些(设计)规则。
将Mocks注入到类中,否则将通过使用new创建新实例。假设您有以下代码:
public void sendInvitationEmail(String address) {
InvitationEmail email = new InvitationEmail();
email.sendTo(address).send();
}并且需要用模拟替换email。然后,您可以使用方面(@Pointcut("call(InvitationEmail.new(..))") )“注入”一个模拟。-- @见Daniel的博客JMock和AspectJ,以及Spring的@MockStaticEntityMethods (使用Spring方面的模拟静态方法)
https://stackoverflow.com/questions/4313789
复制相似问题