java中Delegate委派模式

一.引言:
    委派模式有点像代理模式又有点像策略模式。例如:公司老板给项目经理下达任务,将任务全权交给项目经理,由项目经理根据一定的策略将任务分配给小组成员,项目经理从头跟到尾。项目经理就像一个受老板授权的中介,老板不需要和小组成员直接联系,甚至可以不知道他的存在。

二.实现:

1.创建员工都必须要做的干活接口

/**
 * Created by ${ligh} on 2018/12/17 下午5:23
 */
public interface TargetWork {

   public void doSomething(String command);

}

2.创建员工A,B实现干活接口

/**
 * Created by ${ligh} on 2018/12/17 下午5:26
 */
public class WorkerA implements TargetWork{

   @Override
   public void doSomething(String command) {
       System.out.println("我是 WorkerA,开始做:"+command);
   }
}

/**
 * Created by ${ligh} on 2018/12/17 下午5:27
 */
public class WorkerB implements TargetWork{

  @Override
   public void doSomething(String command) {
       System.out.println("我是WorkerB,开始做: "+command);
   }
}

3.领导管理干活的人,并根据策略分派干活的人

/**
 * Created by ${ligh} on 2018/12/17 下午5:28
 */
public class Leader implements TargetWork{

    private Map<String,TargetWork> targets = new HashMap();

    public Leader() {
        targets.put("登录",new WorkerA());
        targets.put("注册",new WorkerB());
    }

    @Override
    public void doSomething(String command) {
        targets.get(command).doSomething(command);
    }
}

4.boss分配任务给领导

public class Boss{
	/**
     *  下达命令给leader
     * @param args
     */
    public static void main(String[] args) {
        new Leader().doSomething("注册");
    }
}

由于Leader已经分配注册给员工B来做了,因此当任务分配下来之后员工B就知道自己要开始做这件事了。
结果显示:
在这里插入图片描述
以上就完成了简单的委派设计模式…

Java 后端开发中常用的设计模式有很多,以下是其中一些常见的设计模式: 1. 单例模式(Singleton Pattern):确保一个类只有一个实例,并提供全局访问点。 2. 工厂模式(Factory Pattern):将对象的创建过程封装在一个工厂类中,避免直接使用 new 关键字来创建对象。 3. 抽象工厂模式(Abstract Factory Pattern):提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们的具体类。 4. 观察者模式(Observer Pattern):定义了对象之间的一对多依赖关系,当一个对象的状态发生改变时,其所有依赖者都会收到通知并自动更新。 5. 适配器模式(Adapter Pattern):用于将一个类的接口转换成客户端所期望的另一个接口。 6. 装饰器模式(Decorator Pattern):动态地给一个对象添加额外的职责,是继承关系的替代方案。 7. 策略模式(Strategy Pattern):定义了一系列算法,并将每个算法封装起来,使它们可以互相替换。 8. 模板方法模式(Template Method Pattern):定义了一个算法的骨架,将一些步骤延迟到子类中实现。 9. 委托模式(Delegate Pattern):将一个类的某个方法委派给另一个类来实现。 10. 迭代器模式(Iterator Pattern):提供一种方法来访问聚合对象中的各个元素,而不需要暴露其内部结构。 这些设计模式可以帮助开发者提高代码的可维护性、可扩展性和重用性,同时也能够帮助开发者解决一些常见的设计问题。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值