1、创建一个Leader类(委派者)
package delegate;
import java.util.HashMap;
import java.util.Map;
public class Leader {
private Map<String, ICode> coder = new HashMap<>();
public Leader() {
coder.put("A", new CoderA());
coder.put("B", new CoderB());
}
public void dispatch(String target) {
coder.get(target).coding(target);
}
}
2、创建一个接口
package delegate;
public interface ICode {
void coding(String task);
}
3、两个coder类
package delegate;
public class CoderA implements ICode {
@Override
public void coding(String task) {
System.out.println("实现功能" + task);
}
}
package delegate;
public class CoderB implements ICode {
@Override
public void coding(String task) {
System.out.println("实现功能" + task);
}
}
4、测试(把任务委托给委托者,由委托者分配任务给实施者)
package delegate;
public class DelegateTest {
public static void main(String[] args) {
Leader leader = new Leader();
leader.dispatch("A");
leader.dispatch("B");
}
}