代理模式:为其他对象提供一种代理,以控制对这个对象的访问。
代理模式属于结构型模式,一个类代表另一个类的功能。
代码:
老板需要订票
package com.qing.proxy;
public interface IBossAction {
void bookTicket();
}
package com.qing.proxy;
public class Boss implements IBossAction {
@Override
public void bookTicket() {
System.out.println("订好机票");
}
}
秘书帮老板订票
package com.qing.proxy;
//代理人:秘书
public class Secretary implements IBossAction {
private Boss boss;
@Override
public void bookTicket() {
if (boss == null) {
boss = new Boss();
}
boss.bookTicket();//秘书帮老板订机票
}
}
测试
@Test
void test1() {
Secretary secretary = new Secretary();
secretary.bookTicket();
}
结果