一 代码位置
二 代码
1 Boss
package Delegate;
public class Boss {
public void command(String command,Leader leader){
leader.doing(command);
}
}
2 DelegateTest
package Delegate;
public class DelegateTest {
public static void main( String[] args ) {
new Boss().command("登录",new Leader());
}
}
3 EmpolyeeA
package Delegate;
public class EmpolyeeA implements IEmployee{
@Override
public void doing( String command ) {
System.out.println("我是员工A,我现在开始干"+command+"工作");
}
}
4 EmpolyeeB
package Delegate;
public class EmpolyeeB implements IEmployee{
@Override
public void doing( String command ) {
System.out.println("我是员工B,我现在开始干"+command+"工作");
}
}
5 IEmployee
package Delegate;
public interface IEmployee {
public void doing(String command);
}
6 Leader
package Delegate;
import java.util.HashMap;
import java.util.Map;
public class Leader implements IEmployee{
private Map<String,IEmployee> targets = new HashMap<String,IEmployee>();
public Leader(){
targets.put("加密",new EmpolyeeA());
targets.put("登录",new EmpolyeeB());
}
@Override
public void doing( String command ) {
targets.get(command).doing(command);
}
}
三 测试
我是员工B,我现在开始干登录工作
四 UML类图