1.概述
为其他对象提供代理。
2.UML结构图
以我们项目平时客服值班为例:
image.png
CustomerProxy
客服代理
RealSubject
实际处理问题类
Subject
共同抽象接口
Cliect
客户类
整个流程就是客户出现问题-->找到客服-->找到RD值班同学处理,客服就是代理的角色。
3.代码实现
共同抽象接口
/**
* Created by zhouwen on 2019/7/10 21:51
*/
public interface Subject {
void process();
}
实际处理类,业务逻辑的实际处理者
/**
* Created by zhouwen on 2019/7/10 21:52
*/
public class RealSubject implements Subject {
@Override
public void process() {
Logger.getLogger("RealSubject").info("实际问题处理者");
}
}
代理类,委托给实际处理对象
/**
* Created by zhouwen on 2019/7/10 21:53
*/
public class CustomerProxy implements Subject{
private RealSubject mSubject;
public CustomerProxy() {
}
@Override
public void process() {
preProcess();
mSubject.process();
}
private void preProcess() {
mSubject = new RealSubject();
}
}
客户类
/**
* Created by zhouwen on 2019/7/10 21:54
*/
public class Client {
public void test() {
CustomerProxy customerProxy = new CustomerProxy();
customerProxy.process();
}
}
网友评论