1. 程式人生 > >談談我眼中的IOC

談談我眼中的IOC

控制反轉(IOC)。

什麼是控制反轉

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

在普通的程式設計中,如果我們需要一個物件,就會這個樣子:

Object obj=new Object();

這樣就是通過我們手工來建立一個物件,是我們主動去建立,也就是由程式設計師來控制物件的產生。

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

為什麼需要控制反轉

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

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

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