Unity的Release又拖期了,不过对于patterns & practices的fans来说,应该习以为常了。

不少大牛已经开始深入岩洞探险了,向他们致敬:)鉴于之前的CTP或者weekly drops实在是不够稳定,这也就成了我站在洞口静观其变的理由...ok,说白了就是懒惰的借口。

不过这并不妨碍我们先聊聊ObjectBuilder。我们需要一些预备知识,如果对于IOC还不是很清楚的话,还是应该在IOC的理解花点时间。Martin FowlerInversion of Control Containers and the Dependency Injection pattern 是不得不推荐的,当然,如果读起来比较费劲的话,吕震宇的你真的了解Ioc与AOP吗?系列也是不错的参考。

ObjectBuilder是一个可扩展的Application Block,同时也是Unity的基础。对于ObjectBuilder到底是什么有很多不同的理解,最普遍的描述是:ObjectBuilder是“依赖注入的工具”,还有一种说法是“构建依赖注入容器的框架”,这些多少都有些出入。应该说ObjectBuilder是一个可配置的对象工厂。

ObjectBuilder有两个版本,习惯称之为OB1和OB2。OB1在ObjectBuilder的网站上就可以down,OB2可以说目前只流传于民间:)为什么这么说?因为目前只能从Unity的CTP版本中或者sample中得到,估计是会跟随Unity的Release一块儿发布。

本想结合一个例子来谈谈自己对ObjectBuilder的理解,不过已有的一些资料写得很好,班门弄斧实在没有必要,而且说实话自己的理解也真的很有限。

对于OB1,黄忠成先生的Object Builder Application Block系列写得清晰透彻,当然,经过吕震宇先生的简体翻译:[转]Object Builder Application Block,可读性更上一层楼了。

OB2在OB1的基础上可以说有了很大的改动,这里可以参考Chris的最新的一些blog,顺带说一句,这些blog读起来就要费些脑筋了,如果你不是真的想对ObjectBuilder弄个门清的话,那其实理解一下黄忠成先生文章中提到的一些概念和思想就足够了。

posted on 2008-03-17 15:52  赤脚小子  阅读(11891)  评论(4编辑  收藏  举报