代理设计模式的主要功能是可以帮助用户将所有的开发注意力只集中在核心业务功能的处理上,例如,肚子饿了,思考的是如何可以吃到东西。
interface IEat {
public void get() ;
}
class EatReal implements IEat {
public void get() {
System.out.println("【真实主题】得到一份食物,而后开始品尝美味。") ;
}
}
class EatProxy implements IEat { // 服务代理
private IEat eat ; // 为吃而服务
public EatProxy(IEat eat) { // 一定要有一个代理项
this.eat = eat ;
}
public void get() {
this.prepare() ;
this.eat.get() ;
this.clear() ;
}
public void prepare() { // 准备过程
System.out.println("【代理主题】1、精心购买食材。") ;
System.out.println("【代理主题】2、小心的处理食材。") ;
}
public void clear() {
System.out.println("【代理主题】3、收拾碗筷。");
}
}
public class JavaDemo {
public static void main(String args[]) {
IEat eat = new EatProxy(new EatReal()) ;
eat.get() ;
}
}
代理设计模式的主要特点:一个接口提供有两个子类,其中一个子类是真实业务操作类,另一个是代理业务操作类,没有代理业务操作,真实业务无法进行。