IOC和工厂模式--一个面试题的思考

     面试中。面试官看我用过castle windor,问我为什么要使用IOC,我说控制反转的概念,高层的实现不再依赖于底层。他说如果使用工厂模式,在配置文件中配置好,然后使用反射不一样可以实现这个效果吗,为什么还要引用一个IOC组件呢?

     当时没想明白,回来一想,感觉真让人晕菜。工厂模式解决的是接口稳定,而创建类型存在剧烈变化的问题,后面说"在配置文件...",这不正是自己实现了IOC吗!!!简单几个接口的话,也扯不到什么工厂模式,直接映射就可以了。但是需要接口比较多的时候该如何处理?肯定需要写个类,函数也行,管理这些配置中接口到实现类的映射。但是你写的东西性能效率稳定性能赶上castle windor吗?至少通用性上是不如的

     而IOC容器Castle是干什么用的?它管理的是接口和实现类的映射,转移了依赖这个关注点。一个创建对象的模式和一个面向对象的原则,当然IOC也会创建对象,但是IOC和工厂模式完全就是两码事,这种似是而非的题,想考什么呢?

posted @ 2013-11-24 13:38  Tea  阅读(549)  评论(0)    收藏  举报