我应该使用 Spring.Net AOP 抛出建议吗?

发布于 2024-07-12 03:29:57 字数 308 浏览 3 评论 0原文

背景

我有一个提供某些 CRM 服务的组件 - SpecificCRM。 我有一个特定的CRMAdapter,它实现了我的IGeneralCRM 接口。

另一个组件generalCRM通过IGeneralCRM公开CRM功能,并使用Spring.Net注入特定的CRMAdapter来提供此类功能。

问题

我希望能够在特定 CRM 组件失败时捕获异常。 我应该实现 Spring.Net AOP 抛出建议来完成此任务,还是我过度设计了问题,因为我所需要做的只是捕获异常。

一方面或另一方面有什么好处吗?

Background

I have a component that provides certain CRM services - specificCRM. I have a specificCRMAdapter which implements my IGeneralCRM interface.

Another component generalCRM exposes CRM functionality through IGeneralCRM and uses Spring.Net to inject the specificCRMAdapter to provide such functionality.

Question

I want to be able to catch an exception if the specificCRM component fails. Should I implement Spring.Net AOP Throws advice to accomplish this or am I over engineering the problem because all I need to do is merely catch the exception.

Are there any benefits one way or the other?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

冷心人i 2024-07-19 03:29:57

这实际上取决于您打算对异常做什么。 AOP 很棒,但会导致复杂的配置,并且常常是一种杀伤力。

AOP 的亮点在于它能够提供处理多个对象上的相同业​​务横切的逻辑。 就您而言,您似乎暗示您正在开发单个实现,所以我想说现在只需尝试捕获它。

如果您认为可以在多个方法和对象中重用相同的逻辑,那么 AOP 是一个更好的解决方案。

It really depends on what you intend to do with the exception. AOP is awesome but leads to complex configuration and is often an overkill.

Where AOP shines is in its ability to provide logic for handling the same business crosscuts over multiple objects. In your case, you seem to imply that you are working on a single implementation, so I would say to simply try catch it for now.

If you think you could reuse the same logic within multiple methods and objects, then AOP is a better solution.

七颜 2024-07-19 03:29:57

如果您已经在使用 Spring AOP.Net,并且不需要扩展每一点性能,我建议使用建议 - 稍后您可以将建议用于其他内容,使用新建议来捕获更多异常并很好地集成所有内容。

否则,只捕获异常。 无论如何,您应该有异常代码,无论是在建议中还是在 try/catch 块中。

If you are already using Spring AOP.Net, and you don't need to stretch every bit of performance, I say use an advice - later you can use advices for other stuff, user the new advice to catch more exceptions and integrate everything nicely.

Otherwise, just catch the exception. You should have code for exceptions anyway, wether in advices or try/catch blocks.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文