Unity不用太多介绍,园子里很多Unity入门的文章。我一直以来也没有时间研究,直到昨天看了深入 Unity 1.x 依赖注入容器之一:入门才见识到Unity的真面目。初一看某些地方感觉和Google的Guice很相似,Guice提供利用Annotation来进行注入,而Unity则提供[Dependency]的Property,两者有异曲同工之效。Unity还有更多的创新,比如InjectionMethod,在很多场合它也能被用到。
但是看后又觉得[Dependency]注入的方式太具有侵入性了,如果我现在有大量的代码,想加上IOC。那么就不得不在每个注入点加上[Dependency]和Using 这是很危险的。我们引入Unity帮助创建对象,但它却分散到代码中的各个地方,难以被改变,其违背了“高内聚,低耦合”的原则。
既然Unity允许使用配置文件进行初始化,我就想它应该也支持配置文件指定属性注入。翻查了官方文档后,发现Unity的确支持。不多说,放出一个Log的小例子,各位看了就会明白。
接口及类:
Main函数
配置文件
很简单,不是吗?