前言
委派模式的基本作用就是负责任务的调用和分配
案例
显示中,一般公司都是老板给项目经理下达任务,项目经理根据具体情况给相应员工派发任务,所以可以用代码来实现
首先,我们新建员工接口
IEmployee
public interface IEmployee {
public void doing(String command);
}
然后新建两种员工类型
EmployeeA :
public class EmployeeA implements IEmployee {
@Override
public void doing(String command) {
System.out.println("我是员工A,我现在开始干"+command+"工作");
}
}
EmployeeB :
public class EmployeeB implements IEmployee {
@Override
public void doing(String command) {
System.out.println("我是员工B,我现在开始干"+command+"工作");
}
}
接下来,我们新建一个Leader,同样也是员工类型,Leader负责管理EmployeeA和EmployeeB两种员工,其功能是根据Boss的命令调用不同员工的doing方法
Leader :
public class Leader implements IEmployee{
private Map<String,IEmployee> targets = new HashMap<String,IEmployee>();
public Leader() {
targets.put("加密",new EmployeeA());
targets.put("登录",new EmployeeB());
}
public void doing(String command) {
targets.get(command).doing(command);
}
}
最后是Boss,Boss是直接向Leader发出命令
Boss :
public class Boss {
public void command(String command,Leader leader) {
leader.doing(command);
}
}
测试
DekegateTest :
public class DekegateTest {
public static void main(String[] args) {
new Boss().command("登录",new Leader());
}
}
我们可以看出,Boss是委派Leader进行任务的分配