oC 或者 DI 或者 ...一大堆的縮寫詞
不管是面向對象,還是面向過程,都需要分成許多的塊,然后由這些部件協同工作完成任務
要協同工作就會產生依賴,一個方法調用另一個方法,一個對象包含另一個對象
如果對象A包含對象B的話,就需要在A里new一個B
依賴注入從具體類B里抽象出接口IB——IB的具體實現可能有很多B,B1,B2...很多種——這樣A可以不用再new具體的B了,而是跟IoC容器說:我要一個IB(getBean("IB"))。然后,由容器根據配置文件來做具體的new的工作。具體new的是哪個,由配置文件從代碼外部決定,要更換成B,B1,或是B2...修改配置文件就能做到,不用再改代碼了