问题标签 [aop]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
11 回答
11636 浏览

java - What's your "best practice" for the first Java EE Spring project?

I'm currently trying to get into the Java EE development with the Spring framework. As I'm new to Spring, it is hard to imaging how a good running project should start off.

Do you have any best practices, tipps or major DO NOTs for a starter? How did you start with Spring - big project or small tutorial-like applications? Which technology did you use right away: AOP, complex Hibernate...

0 投票
11 回答
8838 浏览

aop - 您在生产软件中使用 AOP(面向方面​​编程)吗?

在我看来, AOP是一种有趣的编程范式。但是,在 stackoverflow 上还没有关于它的讨论(至少我找不到它们)。您对此有何看法?你在你的项目中使用 AOP 吗?还是您认为它是一种不会出现很长时间或不会成为主流的利基技术(就像 OOP 那样,至少在理论上 ;))?

如果您确实使用 AOP,那么请让我们知道您还使用了哪些工具。谢谢!

0 投票
16 回答
99249 浏览

c# - 如何在 C# 中拦截方法调用?

对于给定的类,我希望具有跟踪功能,即我希望记录每个方法调用(方法签名和实际参数值)和每个方法退出(只是方法签名)。

假设:

  • 我不想为 C# 使用任何 3rd 方 AOP 库,
  • 我不想将重复的代码添加到我要跟踪的所有方法中,
  • 我不想更改类的公共 API - 类的用户应该能够以完全相同的方式调用所有方法。

为了使问题更具体,我们假设有 3 个类:

如何在不修改Caller.Call方法并且不将调用显式添加到Traced.Method1Traced.Method2的情况下为每次调用Method1Method2调用Logger.LogStartLogger.LogEnd

编辑:如果允许我稍微更改 Call 方法,解决方案是什么?

0 投票
2 回答
2802 浏览

c# - 应用面向方面的编程

我一直在使用一些基本的 AOP 风格的解决方案来解决安全、日志记录、验证等横切问题。我的解决方案围绕着Castle Windsor和 DynamicProxy,因为我可以使用基于 Boo 的 DSL 应用所有内容并保持我的代码没有属性. 周末有人告诉我看一下PostSharp,因为它应该是一个“更好”的解决方案。我已经快速浏览了 PostSharp,但我被 Attribute 的使用吓到了。

有没有人尝试过这两种解决方案并愿意分享他们的经验?

0 投票
6 回答
16984 浏览

java - 向现有应用程序添加审计的良好模式或框架?

我有一个现有的 J2EE 企业应用程序,我需要在其中添加审计,即能够记录几个重要域类型(Employee、AdministratorRights 等)上的 CRUD 操作。

该应用程序具有标准的 n 层架构:

  • 网页界面
  • 封装在无状态会话 bean 和事务性 POJO 的混合体中的业务操作(使用 Spring)
  • 持久性是直接 JDBC(来自业务层内)和 EJB 2.x BMP 实体 bean(我知道,我知道)的混合体

我的问题是:是否有任何标准模式或(更好的)框架/库专门用于将审计添加为横切关注点?我知道 AOP 通常可用于实现横切关注点;我想知道是否有专门针对审计的东西。

0 投票
3 回答
4567 浏览

c# - PostSharp - il weaving - 想法

我正在考虑使用 Postsharp 框架来减轻应用程序方法日志记录的负担。它基本上允许我用日志属性装饰方法,并在编译时将所需的日志代码注入到 il.xml 中。我喜欢这个解决方案,因为它可以将噪音排除在设计时间码环境之外。有什么想法、经验或更好的选择吗?

0 投票
6 回答
5132 浏览

.net - Windsor 拦截器 AOP 和缓存

我正在考虑使用 Castle Windsor 的拦截器来缓存数据以帮助扩展 asp.net 站点。

有没有人对此有任何想法/经验?

小说明:我的意图是使用 Windsor 来拦截“昂贵”的调用,并将缓存本身委托给 MemCacheD 或 Velocity(或另一个分布式缓存)。

0 投票
1 回答
4519 浏览

spring - 如何使用 Spring AOP(或 AspectJ)定义/配置多个方面的优先级

我已经能够在业务服务类上使用 Spring AOP(结合 AspectJ 注释)定义多个方面(一个是 @Before,另一个是 @Around)。

目前,他们被一一(按顺序)调用。但是我想知道如何定义调用方面的优先级以及在哪里。

请就 Spring AOP 指导我。请注意,我使用的是 Spring 2.5.3 框架。

0 投票
2 回答
1240 浏览

drupal - AOP 如何应用于 Drupal?

AOP(面向方面​​编程)在 Drupal 中是如何工作的?

我已经了解了 AOP 在日志记录和安全性方面的使用,但它如何应用于 Drupal?

0 投票
5 回答
1527 浏览

c# - 在 C#/.Net 中进行面向方面编程 (AOP) 的最佳/最流行的方法是什么?

在 C#/.Net 中进行面向方面编程 (AOP) 的最佳/最流行的方法是什么?