gpt4 book ai didi

c# - .NET 中的 AOP 和操作过滤器

转载 作者:行者123 更新时间:2023-11-30 13:46:29 24 4
gpt4 key购买 nike

2 个问题:

  1. MVC 中的 Action Filter 是否被视为面向方面的编程 (AOP)?
  2. 如果是,.NET 是否为非 MVC 代码提供类似的东西(即常规类库?)

上下文是我想向应用程序添加日志记录。我喜欢能够在一个中心位置定义日志记录规则的想法,而不是到处散布日志记录代码。

看来我可以使用 AOP 技术 ( PostSharp ) 来实现这一点。但是,如果 .NET 中内置了一些东西,我可能最终会使用它。

最佳答案

一般来说,AOP 是一种编程范式,并且首先与 MVC 或 PostSharp 等特定技术无关。这表示:是的,Action Filters 是这种范式的化身。

在普通的 .NET 中,AOP 可以通过使用自定义属性和反射来完成(意味着整个工作都在运行时完成)。相反,PostSharp 是一个切面编织器,它在编译时施展魔法,修改 C# 编译器的 IL 输出。因此,不会涉及任何运行时性能损失。此外,PostSharp 有许多开箱即用的功能(例如日志记录),而且类型安全且可扩展性更高。

可以使用纯 .NET。但这就像更喜欢驿马车而不是赛车一样。

关于c# - .NET 中的 AOP 和操作过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20917789/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com