談談我眼中的IOC

控制反轉(IOC)。

什麼是控制反轉

那麼這裡就涉及到了兩個詞,控制與反轉,什麼控制什麼,什麼被反轉了?

在普通的編程中,如果我們需要一個對象,就會這個樣子:

Object obj=new Object();

這樣就是通過我們手工來創建一個對象,是我們主動去創建,也就是由程序員來控制對象的產生。

那麼據此可知,控制反轉就是對象的控制權被移交給了一個第三方,由第三方來控制對象的產生銷燬等等。

為什麼需要控制反轉

軟件工程的目標是:在給定成本、進度的前提下,開發出具有適用性、有效性、可修改性、可靠性、可理解性、可維護性、可重用性、可移植性、可追蹤性、可互操作性和滿足用戶需求的軟件產品。

以上來源於百度百科,那麼在這裡我就談談我自己的想法,我們開發軟件,都是追求更高的內聚,更低的耦合,而把對象的控制權交由第三方,讓第三方去維護對象之間的關係,能讓各個對象之間的耦合不那麼緊密,從而有利於我們維護軟件。

個人觀點,如有錯誤敬請指出!


分享到:


相關文章: