版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u014401141/article/details/83650756
委派模式(Delegate)是面向对象设计模式中常用的一种模式。不属于23中设计模式,在springMvc中的DispatcherServlet有应用。
角色:
1.委派人-(经理)
2.受托人-(员工)
类图:
实例代码:
委派人
package com.dz.test;
/**
* 被委派者-员工接口
*
* @author alen
* @create 2018-11-02 9:54
**/
public interface Executor {
//做事
void doWork();
}
受托人A
package com.dz.test;
/**
* 员工A
*
* @author alen
* @create 2018-11-02 9:56
**/
public class ExecutorA implements Executor {
@Override
public void doWork() {
System.out.println("员工A做事,,,,");
}
}
受托人B
扫描二维码关注公众号,回复:
5104833 查看本文章
package com.dz.test;
/**
* 员工B
*
* @author alen
* @create 2018-11-02 9:56
**/
public class ExecutorB implements Executor {
@Override
public void doWork() {
System.out.println("员工B做事,,,,");
}
}
测试类:
package com.dz.test;
public class Test {
public static void main(String[] args) {
//委派具体的员工执行
Dispatcher dispatcher=new Dispatcher(new ExecutorA());
//做事
dispatcher.doWork();
}
}
特点:
1.类似与中介的功能(委托机制)
2.持有被委托人的引用
3.不关心过程,只关心结果(可以分发给不同员工执行,结果可能不同)