【发布时间】:2008-09-16 15:20:45
【问题描述】:
我想为消息灵通的同事提供一个关于策略注入的非常简单的解释。哪里有这方面的好资源?我从 entlib 帮助文件中了解了策略注入,我确信这不是最佳选择。
【问题讨论】:
标签: enterprise-library application-blocks policy-injection
我想为消息灵通的同事提供一个关于策略注入的非常简单的解释。哪里有这方面的好资源?我从 entlib 帮助文件中了解了策略注入,我确信这不是最佳选择。
【问题讨论】:
标签: enterprise-library application-blocks policy-injection
The MSDN documentation for Policy Injection 解释得很清楚:
应用程序包括各种业务 逻辑和横切关注点,以及 这两个通常是 混合——这可以使代码 更难阅读和维护。每个任务 或应用程序的功能是 简称“关注”。关注点 实现的功能 应用程序中的对象,例如 业务逻辑,是核心问题。 横切关注点是 必要的任务、功能或 通用的流程 不同的对象——例如, 记录、授权、验证、 和仪器仪表。的目的 策略注入应用程序块 是将核心关注点和 横切关注点。
简单地说,PI 块让开发人员可以定义一组策略来指定系统中对象的行为。因此,您的核心业务逻辑,例如计算一个财政年度单位利润的代码(一个关注点),与该逻辑执行的日志记录(另一个但更常用的关注点)是分开的。
相同的文档说 PI 块 不是 AOP,因为:
因此,尝试从 AOP 的角度来看待 PI 可能会有些混乱。
【讨论】:
EntLib 所谓的策略注入,实际上是面向方面的编程。不久前我写了一个帖子introducing the concepts of AOP on my blog,也许会有所帮助。
【讨论】: