代理设计模式的主要功能是可以帮助用户将所有的开发注意力只集中在核心业务功能的处理上,例如:肚子饿了,思考的是如何可以吃到东西。 范例:实现代理设计
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() ;
}
}
代理设计模式的主要特点是:一个接口提供有两个子类,其中一个子类是真实业务操作类,另外一个主题是代理业务操作类,没有代理业务操作,真实业务无法进行。