package admin;
/**
* @author admin
* @create 2020-12-22 11:38
* @description 静态代理模式示例
*/
public class proxyTest {
public static void main(String[] args) {
singer singer = new singer();
agency dlr = new agency(singer);
dlr.play();
}
}
//演唱会接口
interface vocalConcert {
//开启演唱会流程
public void play();
}
//歌手实现演唱会接口,完成自己唱歌环节(被代理类)
class singer implements vocalConcert {
@Override
public void play() {
System.out.println("歌手自己唱歌");
}
}
//代理方实现演唱会接口,完成自己工作流程,并安排艺人出场(代理类)
class agency implements vocalConcert {
vocalConcert vocal;
//构造函数传入被代理类对象
public agency(vocalConcert vocal) {
this.vocal = vocal;
}
public void publicity() {
System.out.println("代理人宣传演唱会");
}
public void saleTickets() {
System.out.println("代理人卖门票");
}
@Override
public void play() {
publicity();
saleTickets();
vocal.play();
}
}
java设计模式示例——静态代理
最新推荐文章于 2024-08-15 10:49:14 发布