zoukankan      html  css  js  c++  java
  • 【设计模式】策略模式

    1.简介给一个链接: 策略模式

    2.学习的时候自己按理解写了一个测试类,方便理解:

    1.每个员工都有不同的工作报告。

    2.提取工作报告接口作为策略,每个员工类对该策略有不同实现

    3.主管持有工作报告,并可以查看任何员工的工作报告。

    package com.xdusx.java.strategy;
    
    public class Strategy {
        
        //策略模式
        public static void main(String[] args) {
            
            //运行时,由主管点名的员工确定报告工作的内容
            new Man().getEnpReport(new Enp1());
        }
    
    }
    
    interface GetWorkStatement {
        //定义一个策略,该策略返回员工的工作报告,每个员工有不同的工作内容,故每个员工对策略有不同的实现
        String getWorkStatement();
    }
    
    //第一类员工
    class Enp1 implements GetWorkStatement {
        public String getWorkStatement() {
            return "enp1 status";
        }
    }
    
    //第二类员工
    class Enp2 implements GetWorkStatement {
        public String getWorkStatement() {
            return "enp2 status";
        }
    }
    
    //第三类员工
    class Enp3 implements GetWorkStatement {
        public String getWorkStatement() {
            return "enp3 status";
        }
    }
    
    //主管,负责指定一个员工抽查工作报告。抽查的员工在运行时决定,工作报告的内容由员工自行决定
    class Man{
        
        void getEnpReport(GetWorkStatement enpReport){
            System.out.println(enpReport.getWorkStatement());
        }
    }
  • 相关阅读:
    ehcache如何判断缓存数据是否存在--isKeyInCache
    ehcache 缓存监控
    XSS跨站脚本攻击
    java根据文件头判断文件类型
    Spring Security使用Authentication获取当前用户信息
    HttpSessionListener的用法
    ehcache缓存配置与参数说明
    [CERC2017]Buffalo Barricades
    [POI2001]Gra绿色游戏
    移动游戏By HYJ
  • 原文地址:https://www.cnblogs.com/xdsux/p/9507174.html
Copyright © 2011-2022 走看看