zoukankan      html  css  js  c++  java
  • 设计模式----策略模式通俗实例

    在Spring里,策略模式,加载资源文件的方式,使用了不同的方法,比如:ClassPathResourece,FileSystemResource,ServletContextResource,UrlResource但他们都有共同的借口Resource;在Aop的实现中,采用了两种不同的方式,JDK动态代理和CGLIB代理


    锻炼身体,你可以选择跑步、游泳、举重,于是就有了三个策略可以选择了


    锻炼方式策略的接口

    package com.ij34.stategy;
    /*
    
      策略模式接口
    */
    
    public interface StrategyPattern {
        /*
           锻炼方式的方法
        */
        public void exercise();
    }

    三种锻炼方式

    1.

    package com.ij34.stategy;
    /*
      实现跑步锻炼方法
    */
    
    public class run implements StrategyPattern {
    
        @Override
        public void exercise() {
            System.out.println("我正在通过跑步来锻炼身体");
        }
    }

    2.

    package com.ij34.stategy;
    /*
      实现游泳锻炼方法
    */
    
    public class swim implements StrategyPattern {
    
        @Override
        public void exercise() {
            System.out.println("我正在通过游泳来锻炼身体");
        }
    }

    3.

    package com.ij34.stategy;
    /*
      实现举重锻炼方法
    */
    
    public class lift implements StrategyPattern {
    
        @Override
        public void exercise() {
            System.out.println("我正在通过举重来锻炼身体");
        }
    }

    为用户选择锻炼方式的Context类

    package com.ij34.stategy;
        /*
       通过该类为用户提供自己喜爱的锻炼方式
    */
    public class exerciseContext {
        private StrategyPattern sp;
        public exerciseContext(StrategyPattern sp){
            this.sp=sp;
        }
    
        public void exercise(){
            sp.exercise();
        }
    }

    测试类

    package com.ij34.stategy;
    
    public class Test {
        /*
        张三喜欢跑步,通过跑步来锻炼
        */
        public static void main(String[] args) {
            exerciseContext zhangsan=new exerciseContext(new run());
            zhangsan.exercise();
        }
    
    }

    测试结果

  • 相关阅读:
    C#聊天+五子棋
    分页
    用户自定义控件(.ascx)
    一、Text To Speech
    验证码
    白话学习MVC(三)页面周期二
    二、Speech To Text
    微软云体验营 北京站 ,4月27日免费开营啦!名额有限速速报名!
    Windows 8 页面应用测试(2)
    《Windows 8应用开发权威指南》图书开始在网络上预售
  • 原文地址:https://www.cnblogs.com/tk55/p/9231989.html
Copyright © 2011-2022 走看看