Posted on 2006-03-15 16:49
大大毛 阅读(372)
评论(0) 编辑 收藏 所属分类:
Spring
看了Spring初探,有一个很小的例子介绍了IOC(控制反转)的意义。在学Spring之前经常有看到这个IOC和DI的名词,不名就里,这才有点感受。这里讲的IOC和DI在我看来就是一种接口调用。跟那个QuickStart的等价工厂模式+参数读取的感觉差不多。只不过这些都由框架去完成了,框架虽然并没有提供什么接口必须实现,但是实现上是由规范来定义的,从而降低了侵入性。在此的思考是IOC应该是被用于 Action(动作类)之上的,用于搭配那些只关心业务的类。这些类并不需要持有那些持久化的对象,而是由框架在运行时指定。这些类需要做的仅仅是开放setter接口,而IOC容器起到一个控制器的使用。
对于书上提到的那个ActionFactory,在其中用到了BeanUtils来进行设值,这一点不是很明白,因为如果是由工厂模式来实现的话,应该是可以在Action中开放setMessage接口的,由工厂类直接设值注入。而不应该由反射机制来完成,因为对于实现Action的那两个类(UpperAction、LowerAction)来说,其setMessage都是Public接口,这应该在Action中抽取出来,灵活性要大一些。这个例子好象是为了IOC而IOC的,一头雾水。