ObjectBuilder学习(1)

来源:互联网 发布:台湾海军知乎 编辑:程序博客网 时间:2024/05/16 08:13

声明:本贴转自Agilelabs Team Leader:卢彦 

成功切换到VS 2005正式版,装上了正式版的Composite UI Application Block之后,发现它和原来的preview版本的变化很大,导致原来的许多代码都编译不通过。经过仔细研究后发现,主要是因为新版本的CAB在底层应用了一个叫做ObjectBuilder的对象,原来的许多代码现在都是以这个ObjectBuilder为核心做了改变。看来OB应该是比较重要,想要用好CAB,必须要先理解一下OB。

在网上查找了一下资料,了解了一些关于ObjectBuilder的基础性概念,在这里记录一下,以便以后温故而知新。

在一个复杂的应用系统中,创建对象已经不是简单的new一个对象就OK了,而是一个比较复杂的逻辑过程。而ObjectBuilder就是一个帮助你完成对象创建逻辑的一个辅助性工具。OjbectBuilder有以下的一些功能:

  • 根据需要创建特定的对象。请求一个抽象类的时候,能根据策略创建具体类。(有点像对象工厂)
  • 根据需要返回一个已经存在的对象,或者总是创建新对象。
  • 可以根据配置文件从工厂类中创建合适的对象。
  • 根据预定义的对象创建策略自动为公开的属性赋值或者执行特定的方法。
  • 可以根据属性或方法所定义的特性而影响创建行为。
  • 在对象创建完成后可以自动的通知实现了IBuilderAware接口对象。
  • 提供了一些对象的销毁工具来帮助完成对象的销毁过程,比如反转对象的创建过程。
原创粉丝点击