若框架同时使用了 DI 和中间件管线(Middleware Pipeline)我们还需要 AOP 么?

发布于 2022-09-01 23:47:14 字数 641 浏览 31 评论 0

若框架同时使用了 DI 和中间件管线(Middleware Pipeline)我们还需要 AOP 么?

DI 可以解决面向对象中散落在各处的零散代码的实现问题。这类似于 Mixin 的概念吧?
用中间件管线,可以独立各个功能比如日志功能的实现,挂载不同的 handler 就好了嘛。这也类似于 Callback 的实现吧?

DI 可以解决面向对象中散落在各处的零散代码的实现问题。这类似于 Mixin 的概念吧?
用中间件管线,可以独立各个功能比如日志功能的实现,挂载不同的 handler 就好了嘛。这也类似于 Callback 的实现吧?

问题:

  1. AOP 是不是更倾向于在运行时解决问题?若是,会否造成低效?之前 Yii2 框架支持了一个非常灵活而强大的 behavior 语法。后因种种原因造成社区倾向于弃用此结构。

  2. AOP 是否破坏封装?

  3. DI 或/和 Middleware Pipeline 是否能够替代 AOP?

  4. AOP 所解决的特定问题究竟是什么,从而导致他需要修改中间语言。

关联问题知乎

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

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

发布评论

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

评论(1

梦回旧景 2022-09-08 23:47:14

DI和AOP是两个概念吧,AOP一个简单的应用就是数据库事务实现,你不用手动在每一个需要数据库事务的方法里面写事务提交回滚的代码,通过AOP就可以简单实现,其它的诸如方法审计,都可以用这个来实现。效率上是会影响,但是方便易用性足够弥补性能上的缺失了。

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