First we try, then we trust

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

最近阅读了黄忠成的Object Builder系列文章感到受益匪浅,所以将该系列文章整理了一番(将繁体转换为简体,另外对于一些习惯用法进行了调整,对文章及代码格式重新进行了调整,修订了文中几处小错误),现放上来供大家参考。

[转][黄忠成]Object Builder Application Block (1)
[转][黄忠成]Object Builder Application Block (2)
[转][黄忠成]Object Builder Application Block (3)
[转][黄忠成]Object Builder Application Block (4)

~~~~~~~~~~~~~~~~~~~~~~~~~~~

另外受这一系列文章的启迪,目前正在构思几篇新文章,初步题目定为《创建对象的方法及其应用》。目前文章用到的代码调试已经完成了大半,如果有时间我会开始着手文章写作工作。基本内容分以下几部分:

  • 1、CreateOjbWithNew

使用new命令完成对象的创建。(既然是一个系列,缺少此部分就不完整了)

  • 2、CentralizeObjCreation2Factory

针对接口编程(使主程序依赖于公共接口与工厂)

集中对象的创建(出现问题好找)

问题(仍然摆脱不了工厂对其它对象的依赖,仅仅实现了创建对象的集中管理而已)

  • 3、IndependentFactoryModel

使用Assemby以及CreateInstance方法创建对象,实现了工厂与产品间解耦。

  • 4、AddinSample

案例分析,使用上面模型实现一个插件结构的应用程序。该程序运行机制仿照SharpDevelop(当然是大大简化了)的AddinTree结构,只要在Addins目录下存放的文件会被自动的Pickup并容入主界面。

  • 5、BeforeDependencyInjection

为了后面的案例做准备工作。在没有Dependency Injection框架时,自己手工创建对象。

  • 6、DependencyInjectionWithConfig

自己实现的一个“依赖注入”框架(非常简单,纯粹演示目的),使用配置文件指导对象创建工作。

  • 7、DependencyInjection与Ioc

通过上面两个例子我们了解了什么是依赖注入,可为什么依赖注入为什么最开始叫做控制反转呢?本段内容揭示其中的联系以及“容器”这个概念的特殊含义。

  • 8、ObjectBuilder

可以将ObjectBuilder理解成一个智能加工工场,根据用户的不同订单策略在流水线上加工各种对象。该部分内容对ObjectBuilder做一个宏观的介绍。先将文中一张图放上来:

  • 9、TranslatorSampleUsingOB

对OB的一个实际应用案例。模拟TechEd英文会场,参会人员可根据需要选择不同的翻译服务,充分享受"容器"以及"依赖注入"的强大功能,系统借助ObjectBuilder实现。

 

posted on 2007-02-06 11:25  吕震宇  阅读(7899)  评论(17编辑  收藏  举报