设计模式:委派模式

委派模式(delegate)的基本作用就是负责任务的调度和分配,它和代理模式很像但是委派模式注重的是结果,而代理模式注重的是过程。
下面我们举一个例子:老板把任务交给项目经理,项目经理再把任务分配给员工
首先创建一个员工接口:

public interface IEmployee {

    void doing(String command);
}

创建一个经理类:

/**
 * 项目经理类
 */
public class Leader implements IEmployee {

    private Map<String, IEmployee> targetMap = new HashMap<String, IEmployee>();

    public Leader() {

        targetMap.put("登录注册", new EmployeeA());
        targetMap.put("邀请好友", new EmployeeB());
    }

    public void doing(String command) {
        targetMap.get(command).doing(command);
    }
}

创建两个员工类

public class EmployeeA implements IEmployee {
    
    public void doing(String command) {
        System.out.println("我是员工A,我开始做:" + command +"功能");
    }
}
public class EmployeeB implements IEmployee {

    public void doing(String command) {
        System.out.println("我是员工B,我开始做:" + command + "功能");
    }
}

最后创建一个老板类:

public class Boss {

    public void command(String command, Leader leader) {
        leader.doing(command);
    }
}

测试代码:

public static void main(String[] args) {

        // 老板委派项目经理去做 '登录注册功能' -> 项目经理按照功能分配到具体员工身上 -> 员工开始根据需求开始干活
        new Boss().command("登录注册", new Leader());
    }

运行结果: 我是员工A,我开始做:登录注册功能
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容