1. 程式人生 > >什麼是 AOP 和 OOP,IOC 和 DI 有什麼不同?

什麼是 AOP 和 OOP,IOC 和 DI 有什麼不同?

答:

1)面向物件程式設計(Object Oriented Programming,OOP,面向物件程式設計)是一種計算機程式設計架構。AOP 是 OOP 的延續,是 Aspect Oriented Programming 的縮寫,意思是面向方面程式設計。 將通用需求功能從不相關類之中分離出來;同時,能夠使得很多類共享一個行為,一旦行為發生變化,不必修改很多類,只要修改這個行為就可以。AOP 就是這種實現分散關注的程式設計方法,它將“關注”封裝在“方面”中

2)控制反轉 IOC(Inversion of Control) 控制指的就是程式相關類之間的依賴關係.傳統觀念設計中,

通常由呼叫者來建立被呼叫者的例項, 在 Spring 裡,建立被呼叫者的工作不再由呼叫者來完成,而是由 Spring 容器完成,依賴關係被反轉了,稱為控制反轉,目的是為了獲得更好的擴充套件性和良好的可維護性。依賴注入(Dependency injection)建立被呼叫者的工作由 Spring 容器完成,然後注入呼叫者,因此也稱依賴注入。控制反轉和依賴注入是同一個概念。

 

from:http://wiki.jikexueyuan.com/project/java-interview-bible/OOP.html