JAVA 中web 框架Spring 的核心 aop 和ioc

ioc (實現各層之間的低耦合)
  IoC就是應用本身不依賴對象的創建和維護而是交給外部容器(這裏爲spring),這要就把應用和對象之間解耦,控制權交給了外部容器。即Don't call me ,I'll call you!所以IoC也稱DI(依賴注入)對象的創建和維護依賴於外部容器.
例子:
class UserService{
private UserDao userDao = new UserDaoImpl();  //讓業務層與數據訪問層耦合在一起,不利用以後模塊的替換.
private UserDao userDao_IoC = null;
public void SetUserDao(UserDao userDao){
this.userDao_IoC = userDao
}

public void save(User user){
userDao.save(user);
}
}
主要是降低了各層之間的耦合程度 。任何程序的開發講究的就是高內聚,低耦合
AOP(實現代碼的高內聚)
   aop 支持允許將一些通用任務如安全、事務、日誌等進行集中式管理,從而提供了良好的代碼複用性。
對於異常處理,日誌功能,權限的檢查,事務等都是貫穿到各個模塊之中,因此進行AOP.
(Aspect Oriented Programming):面向切面編程。就是把一些貫穿在各個模塊之間相同的功能抽象出來,然後封裝成一個面。
AOP一般都是通過代理來實現,利用代理就有目標對象是什麼,攔截哪些點(方法),攔截後要做什麼。
JoinPoint(連接點):被攔截到的點. Advice(通知):攔截JoinPoint之前與之後要做的事。
PointCut(切入點):對joinPoint進行攔截的定義。Target(目標對象):代理的目標對象。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章