看了Spring初探,有一個很小的例子介紹了IOC(控制反轉)的意義。在學Spring之前經常有看到這個IOC和DI的名詞,不名就里,這才有點感受。這里講的IOC和DI在我看來就是一種接口調用。跟那個QuickStart的等價工廠模式+參數讀取的感覺差不多。只不過這些都由框架去完成了,框架雖然并沒有提供什么接口必須實現,但是實現上是由規范來定義的,從而降低了侵入性。在此的思考是IOC應該是被用于 Action(動作類)之上的,用于搭配那些只關心業務的類。這些類并不需要持有那些持久化的對象,而是由框架在運行時指定。這些類需要做的僅僅是開放setter接口,而IOC容器起到一個控制器的使用。
對于書上提到的那個ActionFactory,在其中用到了BeanUtils來進行設值,這一點不是很明白,因為如果是由工廠模式來實現的話,應該是可以在Action中開放setMessage接口的,由工廠類直接設值注入。而不應該由反射機制來完成,因為對于實現Action的那兩個類(UpperAction、LowerAction)來說,其setMessage都是Public接口,這應該在Action中抽取出來,靈活性要大一些。這個例子好象是為了IOC而IOC的,一頭霧水
。
對于書上提到的那個ActionFactory,在其中用到了BeanUtils來進行設值,這一點不是很明白,因為如果是由工廠模式來實現的話,應該是可以在Action中開放setMessage接口的,由工廠類直接設值注入。而不應該由反射機制來完成,因為對于實現Action的那兩個類(UpperAction、LowerAction)來說,其setMessage都是Public接口,這應該在Action中抽取出來,靈活性要大一些。這個例子好象是為了IOC而IOC的,一頭霧水
