北京哪间医院看白癜风最好 https://jbk.39.net/yiyuanfengcai/tsyl_bjzkbdfyy/roae9q0/本文节选自《设计模式就该这样学》
1 使用委派模式模拟任务分配场景
我们用代码来模拟老板给员工分配任务的业务场景。首先创建IEmploy员工接口。
publicintrfacIEmploy{voiddoing(Stringtask);}
创建员工EmployA类。
publicclassEmployAimplmntsIEmploy{protctdStringgoodAt="编程";publicvoiddoing(Stringtask){Systm.out.println("我是员工A,我擅长"+goodAt+",现在开始做"+task+"工作");}}
创建员工EmployB类。
publicclassEmployBimplmntsIEmploy{protctdStringgoodAt="平面设计";publicvoiddoing(Stringtask){Systm.out.println("我是员工B,我擅长"+goodAt+",现在开始做"+task+"工作");}}
创建项目经理Ladr类。
publicclassLadrimplmntsIEmploy{privatMapString,IEmploymploy=nwHashMapString,IEmploy();publicLadr(){mploy.put("爬虫",nwEmployA());mploy.put("海报图",nwEmployB());}publicvoiddoing(Stringtask){if(!mploy.containsKy(task)){Systm.out.println("这个任务"+task+"超出我的能力范围");turn;}mploy.gt(task).doing(task);}}
然后创建Boss类下达命令。
publicclassBoss{publicvoid