设计模式——代理模式
作者:互联网
设计模式——代理模式
静态代理
- 角色:
- 抽象角色
- 真实角色
- 代理角色
- 访问代理对象的角色
- 优点:
- 使真实角色的操作更纯粹
- 公共的业务交给代理类进行处理
- 公共业务扩展时,方便管理
- 缺点:
- 一个真实角色需要一个代理角色
- 代码
- 编写抽象角色
/** * 抽象角色 */ public interface Rent { void rent(); }
- 编写真实角色
/** * 真实角色 */ public class Host implements Rent { public void rent() { System.out.println("出租房子"); } }
- 编写代理角色
/** * 代理角色 * 中介代理 * 除了可以完成房东的出租房屋以外 还可以签订合同等等 */ @Data @AllArgsConstructor @NoArgsConstructor public class Proxy implements Rent{ private Host host; public void rent() { host.rent(); } public void contract() { System.out.println("签订合同"); } }
- 编写访问代理对象的角色
/** * 访问代理对象 * 静态代理 * 优点 * 1. 使真实角色的操作更纯粹 * 2. 公共的业务交给代理类进行处理 * 3. 公共业务扩展时,方便管理 * * 缺点 * 1. 一个真实角色需要一个代理角色 */ public class Client { public static void main(String[] args) { Host host = new Host(); Proxy proxy = new Proxy(host); proxy.rent(); proxy.contract(); } }
标签:角色,void,代理,模式,Host,rent,设计模式,public 来源: https://blog.csdn.net/KobeSacre/article/details/120849755