02-委派设计模式

1. 定义及模式适合场景

1.1 定义
  • 干活是我的,功劳是你的。不关心过程,只关心结果。
  • 老板不需要和员工有联系,只和项目经理沟通,由项目经理协调委派程序员工作,在老板看来功劳都是项目经理的,背锅的也是项目经理,保护了程序员
1.2 模式适合场景
  • 通过任务委派能够将一个大型的任务细化,然后通过统一管理这些子任务的完成情况实现任务的跟进,能够加快任务执行的效率。
  • spring mvc中核心控制器DispatcherServlet的执行流程。

2. 结构

  • 测试类
public static void main(String[] args) {
    项目经理 项目经理 = new 项目经理();
    项目经理.working("设计");
    项目经理.working("敲代码");
}
  • 员工接口
public interface 员工 {
    void working(String command);
}
  • 接口实现类
public class 项目经理 implements 员工 {
    private Map<String, 员工> emp = new HashMap<>();

    public 项目经理() {
        emp.put("设计", new UI());
        emp.put("敲代码", new 程序员());
    }

    /*
     * 项目经理直接委托程序员和UI去工作
     * */
    @Override
    public void working(String command) {
        emp.get(command).working(command);
    }
}

public class 程序员 implements 员工 {
    @Override
    public void working(String command) {
        System.out.println("程序员开始" + command);
    }
}

public class UI implements 员工 {
    @Override
    public void working(String command) {
        System.out.println("UI开始" + command);
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值