正向:
如果A類中需要用到B類對象,用new B();。這就是正向。
用new的方式獲取另一個類的對象,也有人認(rèn)為這違反了(功能)高內(nèi)聚、低耦合的編程原則。
控制反轉(zhuǎn):
如spring做的一樣,在A類中,先聲明B類的一個變量 : B b; ?然后用set方法從他處(spring容器)注入一個b類的實例。
大概意思就是,獲取B類對象不再是A類中直接new,而是spring容器中new這個對象,再注入給A類中。
由于A類中,不再調(diào)用B類的構(gòu)造器方法(也算是一個功能),所以就說:這么做,符合高內(nèi)聚、低耦合的編程原則。