java设计模式具体应用-(策略模式)

废话不多说,直接上代码

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();
        }


    }
经验分享 程序员 微信小程序 职场和发展