学习完设计模式中的委派模式
这里记录一下委派模式的思想及个人感想
首先说说委派模式的特点:
委派模式类似于代理模式
但是委派模式只注重结果,不注重过程。
委派模式持有被委托人的引用,而代理模式不同
示例场景来实现委派模式
在项目开发过程中,项目经理接手项目。
然后把项目拆分为各个不同的任务,委派下去
最终完成。
看似项目是项目经理完成的,但代码是程序员写的
以下代码仅记录思想
1.定义委派事物接口
public interface IExecutor {
void doing();
}
每个人都有不同的职责,项目经理,程序员各司其职。
每个人实现这个接口
员工A:
public class IExecutorA implements IExecutor{
@Override
public void doing() {
// TODO Auto-generated method stub
System.out.println("员工A执行任务");
}
}
员工B:
public class IExecutorB implements IExecutor{
@Override
public void doing() {
// TODO Auto-generated method stub
System.out.println("员工B执行任务");
}
}
经理:
public class Dispatcher implements IExecutor{
private IExecutor iExecutor;
//调度指定的员工
public Dispatcher(IExecutor iExecutor) {
this.iExecutor=iExecutor;
}
@Override
public void doing() {
iExecutor.doing();
}
}
经理和员工的不同点在于经理可以调度员工。
经理和员工做的事不同,经理通过调度员工来实现Executor接口
这就是委派模式的思想
委派模式测试:
public class DispatcherTest {
public static void main(String[] args) {
Dispatcher dspt=new Dispatcher(new IExecutorA());
dspt.doing();
}
}
测试结果如下:
明明是经理做的事,具体的实现却是员工A在实现,这就是委派模式。
只注重结果,不注重过程。