定义:
代理模式是指给某一个对象提供一个代理对象,并有代理对象来控制对原对象的引用。
分类:
①静态代理;
②动态代理(jdk动态代理,cglib动态代理);
类图:
静态代理
静态代理就是在代理类中写死原对象的方法,并添加一些功能。
DaoInterface:
package com.headfirst.proxymode.interfaces;
public interface DaoInterface {
public void add();
public void delete();
public void update();
public String query();
}
UserDao:
package com.headfirst.proxymode.dao;
import com.headfirst.proxymode.interfaces.DaoInterface;
public class UserDao implements DaoInterface {
public void add() {
System.out.println("add...");
}
public void delete() {
System.out.println("delete...");
}
public void update() {
System.out.println("update...");
}
public String query() {
System.out.println("query...");
return null;
}
}
UserDaoProxy:
package com.headfirst.proxymode.dao;
public class UserDaoProxy extends UserDao {
/**
* 将userdao交给代理类代其完成一系列的动作,并可以自己完成一些事情
*/
UserDao dao = null;
public UserDaoProxy(){
if(dao == null){
dao = new UserDao();
}
}
public void add() {
dao.add();
System.out.println("add...log");
}
public void