【发布时间】:2023-03-22 00:40:01
【问题描述】:
Aspect Oriented Programming (AOP) 似乎是一个有趣的概念。起初我对此非常感兴趣,但当我阅读更多内容并看到人们描述的用例时,我变得很失望。
我看到的很多网站,以及 AspectC++ 开发人员的演示文稿,都展示了我认为相当可疑的用例。
他们谈到了如何使用 AOP 进行错误处理(抛出异常)、对参数和返回值进行边界检查、在出现问题时返回安全的空对象、安全性等。这些只是不好的例子吗(以及不是实际用例),还是我遗漏了什么?
当你调用一个函数时,你应该如何知道发生了什么?几乎任何事情都可能发生,这取决于您决定应用哪些方面。这不会把事情搞得一团糟吗? API 文档呢,我该怎么写呢?
到目前为止,我见过的唯一好的 AOP 用例是日志记录或分析之类的东西——它们不会影响实际的逻辑流程并且仅用作调试工具。
除了调试机制之外,AOP 是否有用?
【问题讨论】:
-
我认为Do you use AOP? and what for? 更多的是关于示例用途,这似乎更多的是关于理论和对代码质量的影响。
标签: language-agnostic aop paradigms uses