3

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

4

2 回答 2

2

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

应用程序包括业务逻辑和横切关注点的混合,两者通常混合在一起——这会使代码更难阅读和维护。应用程序的每个任务或功能都称为“关注点”。在应用程序中实现对象特性的关注点,例如业务逻辑,是核心关注点。横切关注点是跨不同对象(例如,日志记录、授权、验证和检测)通用的必要任务、特性或流程。策略注入应用程序块的目的是分离核心关注点和横切关注点。

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

相同的文档说 PI 块不是AOP,因为:

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

因此,试图从 AOP 的角度来看待 PI 可能会有些混乱。

于 2008-10-31T14:44:04.403 回答
1

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

于 2008-09-16T15:34:23.083 回答