談談你對AOP的理解

2022-09-15 19:33:12 字數 444 閱讀 8631

系統是由許多不同的元件所組成,每乙個元件各負責一塊特定功能。除了實現自身核心功能之外,這些元件還經常承擔著額外的職責。例如日誌、事務管理和安全這樣的核心服務經常融入到自身具有核心業務邏輯的元件中去。這些系統服務經常被稱為橫切關注點,因為他們會跨越系統的多個元件。

當我們需要為分散的物件引入公共行為的時候,oop則顯得無能為力。也就是說,oop允許你定義從上到下的關係,但並不適合定義從左到右的關係。例如日誌功能。

日誌**往往水平地散布在所有物件層次中,而與它所散步到的物件核心功能毫無關係。

在oop設計中,它導致了大量**的重複,而不利於各個模組的重用。

aop:將程式中的交叉業務邏輯(比如安全、日誌、事務)封裝成乙個切面,然後注入到目標物件(具體業務邏輯)中去。aop可以對某個物件或某些物件的功能進行增強,比如物件中的方法進行增強,可以在執行某個方法之間額外的做一些事情,在某個方法執行之後額外做一些事情。

談談你對Spring的理解

spring是乙個開源的輕量級的應用開發框架,其目的是用於簡化企業級應用開發,降低 的侵入性和耦合度。spring提供的ioc和aop功能,可以將容器內的元件耦合度降低至最低,即解耦,為將來的工程 的維護提供了方便。spring為系統提供了乙個整體的解決方案,開發者除了可以利用它本身具有的功能外,還...

談談你對spring的理解

回答 spring是乙個輕量級的ioc和aop容器框架。spring的優點 不講出口 spring的輕量級是是從它的大小和開銷來說的,完整的spring框架可以在乙個大小只有1mb多的jar檔案裡發布。並且spring所需的處理開銷也是微不足道的。spring是非侵入式的,spring的api是不會...

談談你對AtomicInteger的理解

atomicinteger是乙個提供原子操作的integer類,通過執行緒安全的方式操作加減。十分適合高併發情況下的使用 對於全域性變數的數值型別操作 num 若沒有加synchronized關鍵字則是執行緒不安全的,num 解析為num num 1,明顯,這個操作不具備原子性,多執行緒時必然會出現...