您的位置:首页 > 其它

设计模式——委派模式

2020-02-02 20:43 267 查看

委派模式不属于Gof23种设计模式。委派模式的基本作用就是负责任务的调度和分配,跟代理模式很像,可以看作是一种特殊情况下的静态的全权代理,但是代理模式注重过程,而委派模式注重结果。委派模式在Spring中应用非常多,大家常用的DispatcherServlet就用到了委派模式
下面进行举例
创建员工接口

public interface IEmployee {

public void doing(String command);

}

创建员工接口实现类A,B

public class EmployeeA implements IEmployee {

@Override
public void doing(String command) {

System.out.println("员工A开始"+command+"工作");

}

}
public class EmployeeB implements IEmployee {

@Override
public void doing(String command) {

System.out.println("员工B开始"+command+"工作");

}

}

创建经理类Leader(代理层)

public class Leader implements IEmployee {

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

public Leader() {
map.put("加密",new EmployeeA());
map.put("登录",new EmployeeB());
}
//项目经理自己不干活
@Override
public void doing(String command) {
map.get(command).doing(command);
}

}

创建Boss类

public class Boss {

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

}

进行测试

public class DelegateTest {

public static void main(String args[]) {
//代理模式注重的是过程,委派模式注重的是结果
//策略模式注重可扩展性(外部扩展性),委派模式注重的是内部灵活性
//委派模式的核心是分发,调度,派遣,委派模式是代理模式和策略模式的一种特殊的组合
new Boss().command("登录",new Leader());

}

}

测试结果

员工B开始登录工作
  • 点赞 1
  • 收藏
  • 分享
  • 文章举报
我有一只胖熊猫 发布了17 篇原创文章 · 获赞 3 · 访问量 177 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: