傳統的AOP(縱向繼承)與SpringAOP(橫向抽取機制)

傳統的AOP(縱向繼承)

public class UserDaoImpl implements UserDao{

            void   save(User user){

                 checkPrivilege()      

                //保存用戶

            }

          void   checkPrivilege(){}

}

不可能所有的類裏面有去實現check方法 ,所有就有縱向繼承

public class  BaseDaoImpl{

  public  void checkPrivilege(){}

}

public void  UserDaoImpl   extends BaseDaoImpl{

  public  void save(User user){

             checkPrivilege();

}

}

SpringAOP(橫向抽取機制)

 

public class UserDaoImpl implements UserDao{

            void   save(User user){

               //保存用戶

            }

          void   checkPrivilege(){}

}

 

UserDaoImpl--------------------------------->Proxy  代理機制

 

AOP相關的術語

 

詳解