思归呓语

衣带渐宽终不悔,为伊消得人憔悴
随笔 - 396, 评论 - 2964, 引用 - 245

导航

工具

关于

标签

每月存档

广告



访客

 

2006年1月份的企业库2.0,跟早先的版本相比,变化很大,具体的变化参考

About the January 2006 Release
http://msdn.microsoft.com/library/?url=/library/en-us/dnpag2/html/EntLib2.asp

其中一个瞩目的变化是个新的对象生成器(ObjectBuilder)子系统,位于Microsoft.Practices.ObjectBuilder命名空间之下。它源自于Composite UI Application Block,是个依赖注入(Dependency Injection)框架,而不是一个单纯的依赖注入容器。它主要的功用是负责创建和销毁对象实例。在企业库2.0中,ObjectBuilder被用来把配置数据注入到应用程序块(application block)的类中去,以及把系统监测(instrumentation)类连接到应用程序块的类。ObjectBuilder使得在没有配置文件下的情形下,也能很容易地使用应用程序块。

Brian Button 的博客上有篇《Enterprise Library and Object Builder》,对Object Builder做了很详细的介绍(翻译有点生硬):

“......
对象生成器是什么东西?

对象生成器(OB)基本上就是个允许你定制对象是如何被创建之过程的管道( pipeline)。你通过类似于下面这样的语句来使用它,

MyFoo foo = ObjectBuilder.BuildUp<MyFoo>(“FooInstanceName”);

看上去极其简单,对么?其实,在调用过程中,你几乎可以改变,定制,扭曲实际发生的任何东西。使用OB创建对象的过程可以通过向OB实例注册策略(Strategy)的方式来定制。这些策略通过添加一些步骤来定制创建你的对象的过程。这些策略可以添加在创建对象的不同阶段,这些阶段包括创建前(PreCreation), 创建中(Creation),初始化(Initialization),和初始化之后(PostInitialization),基于你是怎么向OB添加的,取决于你指定的操作应该在什么时候发生。譬如,在企业库中,我们需要在创建前,创建中,创建后(PostCreation )添加几个步骤,我们在一个叫做EnterpriseLibraryFactory的类中把实现这些步骤的策略添加到我们的OB实例中去。

注册在OB里的每个策略在运行时,通过查询与之关联的具体对策(Policy)实例,可以收集各种信息和执行环境(context)。这意味着,你可以用同一个策略来实现不同的目的,只要在运行时通过不同的具体对策提供不同的目的细节即可。
......”

相关文章

打印 | 张贴于 2006-07-20 03:48:00 | Tag:.NET

留言反馈

#re: 对象生成器--企业库中的依赖注入框架 编辑
holld
2006-10-03 17:45:00 | [匿名用户:ekime]
#re: 对象生成器--企业库中的依赖注入框架 编辑
我还是不太了解
2006-08-10 12:45:00 | [匿名用户:hardiy]
对不起,目前本随笔不允许发表新评论.

Powered by: Joycode MVC Blogger System