设计模式-代理模式
代理模式就是对其他对象提供代理以控制这个对象的访问。
代理模式可以抽象出一些公用部分,使代码职责更明晰,扩展性也更强。
比如国王通过发言人发表讲话
接口
public interface Speaker {
void speak();
}
国王
public class King implements Speaker {
@Override
public void speak() {
System.out.println("Happy New Year!");
}
}
发言人
public class Spokesman implements Speaker {
King king = null;
public Spokesman(King king) {
this.king = king;
}
@Override
public void speak() {
System.out.println("King said: ");
king.speak();
}
}
发表演说
public class Client {
public static void main(String[] args) {
Speaker speaker = new Spokesman(new King());
speaker.speak();
}
}