哪里可以得到政策注入的简单解释?

发布于 2024-07-05 01:32:37 字数 82 浏览 10 评论 0原文

我想要为消息较少的同事提供关于政策注入的简单解释。 哪里有这方面的好资源? 我从 entlib 帮助文件中了解了策略注入,我确信这不是最好的选择。

I'd like a dead simple explanation of policy injection for less-informed co-workers. Where is a good resource for this? I learned about policy injection from the entlib help files, which I'm sure aren't the best option.

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

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

发布评论

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

评论(2

简单爱 2024-07-12 01:32:37

EntLib 所说的策略注入实际上是面向方面的编程。 我在博客上写了一篇文章 介绍 AOP 的概念不久前,也许会有帮助。

What the EntLib calls Policy Injection, is really Aspect Oriented Programming. I wrote a post introducing the concepts of AOP on my blog a while back, maybe it'll be helpful.

伪心 2024-07-12 01:32:37

策略注入的 MSDN 文档有一个非常清晰的解释:

应用程序包括多种业务
逻辑和横切关注点,以及
两者通常是
混合——这可以使代码
更难阅读和维护。 每个任务
或应用程序的功能是
称为“关心”。 担忧
实现的功能
应用程序中的对象,例如
业务逻辑是核心关注点。
横切关注点是
必要的任务、功能或
通用的流程
不同的对象——例如,
日志记录、授权、验证、
和仪器仪表。 的目的
策略注入应用程序块
是分离核心关注点和
横切关注点。

简而言之,PI 块允许开发人员定义一组指定系统中对象行为的策略。 因此,您的核心业务逻辑(例如计算一个会计年度中单位利润的代码(一个关注点))与逻辑执行的日志记录(另一个但更常用的关注点)是分开的。

同一文档称 PI 块不是 AOP,因为:

  • 它使用拦截来仅启用预处理处理程序和后处理处理程序。
  • 它不会将代码插入方法中。
  • 它不为类构造函数提供拦截。

因此,尝试从 AOP 的角度来看待 PI 可能会让事情变得有点混乱。

The MSDN documentation for Policy Injection has a pretty clear explanation:

Applications include a mix of business
logic and crosscutting concerns, and
the two are typically
intermingled—which can make the code
harder to read and maintain. Each task
or feature of an application is
referred to as a "concern." Concerns
that implement the features of an
object within the application, such as
the business logic, are core concerns.
Crosscutting concerns are the
necessary tasks, features, or
processes that are common across
different objects—for example,
logging, authorization, validation,
and instrumentation. The purpose of
the Policy Injection Application Block
is to separate the core concerns and
crosscutting concerns.

Simply put, the PI block lets developers define a set of policies that specify the behavior of objects in the system. So your core business logic, such as the code that calculates profit per unit in a fiscal year (one concern), is separated from the logging of that execution of logic (another, but more often used, concern).

The same documentation says that the PI block is not AOP because:

  • It uses interception to enable only pre-processing handlers and post-processing handlers.
  • It does not insert code into methods.
  • It does not provide interception for class constructors.

So trying to look at PI from an AOP perspective can muddy the waters a bit.

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