废话不多说,直接上代码
public void contextLoads() throws Exception {
String type = "bossAudit";
AuditStrategy obj = null;
ProjectAudit projectAudit = new ProjectAudit();
FinanceAudit financeAudit = new FinanceAudit();
BossAudit bossAudit = new BossAudit();
if (type.equals("projectAudit")) {
obj = new AuditStrategy(projectAudit);
}
if(type.equals("financeAudit")){
obj = new AuditStrategy(financeAudit);
}
if(type.equals("bossAudit")){
obj = new AuditStrategy(bossAudit);
}
obj.auditHandler();
}
public interface Audit {
public void auditHandler();
}
public class ProjectAudit implements Audit {
@Override
public void auditHandler() {
System.out.println("ProjectAudit");
}
}
public class FinanceAudit implements Audit {
@Override
public void auditHandler() {
System.out.println("FinanceAudit");
}
}
public class BossAudit implements Audit {
@Override
public void auditHandler() {
System.out.println("BossAudit");
}
}
public class AuditStrategy {
private Audit audit;
public AuditStrategy(Audit obj) {
audit = obj;
}
public void auditHandler() {
audit.auditHandler();
}
}