传统的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相关的术语

 

详解