a,什么是代理模式,一代代开发人员针对开发过程中常见难题给出解题思路。共有23种设计模式。代理设计模式是23种模式中的一种。
b,代理模式的作用,帮助指定的类来完成它所需要实现的功能,达到功能增强的效果。
c,代理模式实现步骤
c1,创建一个一个接口((service.PGService)),声明需要被帮助的方法名字。
package service;
public interface PGService {
public void giveFlower();
}
c2,创建一个实现类(serviceImp.PG),表示需要被帮助群体。
package serviceImp;
import service.PGService;
public class PG implements PGService{
public void giveFlower() {
System.out.println("This is the flower for you.");
}
}
c3,创建一个代理实现类(utils.agent),需要与被帮助类实现同样接口,将需要帮助对象作为属性声明。然后需要通过构造方法得到需要帮助的对象。然后在代理方法中,让被帮助的对象来完成主要功能。
package util;
import service.PGService;
import serviceImp.PG;
public class Agent implements PGService {
private PG zhangsan;
public Agent(PG zhangsan) {
this.zhangsan=zhangsan;
}
public void giveFlower() {
this.zhangsan.giveFlower();
System.out.println("Congratulations.");
}
}
import service.PGService;
import serviceImp.PG;
import util.Agent;
public class testMain {
public static void main(String[] args) throws Exception {
PG zhangsan = new PG();
PGService lisi=new Agent(zhangsan);
lisi.giveFlower();
}
}