ioc和aop的區別?

2022-09-16 18:24:10 字數 681 閱讀 9205

ioc:控制反轉(inversion of control,英文縮寫為ioc)把建立物件的權利交給框架,是框架的重要特徵,並非物件導向程式設計的專用術語。它包括依賴注入(dependency injection,簡稱di)和依賴查詢(dependency lookup)。

優點:因為把物件生成放在了xml裡定義,所以當我們需要換乙個實現子類將會變成很簡單(一般這樣的物件都是實現於某種介面的),只要修改xml就可以了,這樣我們甚至可以實現物件的熱插拔(有點像usb介面和scsi硬碟了)。

缺點:(1)生成乙個物件的步驟變複雜了(事實上操作上還是挺簡單的),對於不習慣這種方式的人,會覺得有些彆扭和不直觀。(2)物件生成因為是使用反射程式設計,在效率上有些損耗。但相對於ioc提高的維護性和靈活性來說,這點損耗是微不足道的,除非某物件的生成對效率要求特別高。(3)缺少ide重構操作的支援,如果在eclipse要對類改名,那麼你還需要去xml檔案裡手工去改了,這似乎是所有xml方式的缺陷所在。

aop:為aspect oriented programming的縮寫,意為:面向切面程式設計,通過預編譯方式和執行期動態**實現程式功能的統一維護的一種技術。aop是oop的延續,是軟體開發中的乙個熱點,也是spring框架中的乙個重要內容,是函式式程式設計的一種衍生范型。利用aop可以對業務邏輯的各個部分進行隔離,從而使得業務邏輯各部分之間的耦合度降低,提高程式的可重用性,同時提高了開發的效率。

IOC和AOP的理解

ioc 控制反轉也叫依賴注入。利用了工廠模式 將物件交給容器管理,你只需要在spring配置檔案總配置相應的bean,以及設定相關的屬性,讓spring容器來生成類的例項物件以及管理物件。在spring容器啟動的時候,spring會把你在配置檔案中配置的bean都初始化好,然後在你需要呼叫的時候,就...

AOP和IOC的作用

ioc 控制反轉,是一種設計模式。一層含義是控制權的轉移 由傳統的在程式中控制依賴轉移到由容器來控制 第二層是依賴注入 將相互依賴的物件分離,在spring配置檔案中描述他們的依賴關係。他們的依賴關係只在使用的時候才建立。簡單來說就是不需要new乙個物件了。aop 面向切面,是一種程式設計思想,oo...

ioc和aop的理解

ioc inversion of control 和aop aspect oriented programming 是spring的兩大核心,含義分別是控制反轉和面向切面程式設計。先來說一下ioc吧,可以簡單地理解就是將控制權交給依賴方,然後由依賴方為我們提供服務。通常ioc和di 依賴注入 是綁在...