zoukankan      html  css  js  c++  java
  • 5.策略设计模式

    5.策略设计模式

    1.概述

    实现某一功能往往有多种策略(算法),通常的实现方式是把所有的策略封装在一个策略类中,客户端通过策略类的对象调用不同的策略算法,这种设计方式的缺点是随着策略数量的增加策略类会变得很复杂,而且如果增加新的策略必须修改原有的代码

    2.策略设计模式的思想

    • 1.所有的策略的公共方法方法放在基接口中
    • 2.各种策略分别实现这个接口
    • 3.环境类包含一个策略对象,可以调用相对应的策略的算法
    • 3.客户端与环境类进行交互,实现相对应的策略

    3.代码

    • 描述:一个简单的程序
    • 选择一种外出旅游的出行方式
    • public interface Travel {
          void travel();//旅行的算法(策略)
      }  
    • 描述:基础接口
    • public class Bus implements Travel{
          @Override
          public void travel(){
              System.out.println("乘坐公交车出行");
          }
      }  
    • 描述:乘坐公交车出行
    • public class Train implements Travel{
          @Override
          public void travel(){
              System.out.println("乘坐火车过出行");
          }
      }  
    • 描述:乘坐或称出翔
    • public class Flighjt implements Travel{
          @Override
          public void travel(){
              System.out.println("乘坐飞机出行");
          }
      }  
    • 描述:乘坐飞机出行
    • public class Context {
          private Travel travel;
          public Context(Travel travel){
              this.travel=travel;
          }
      
          //选择出行方式
          public void travel(){
              travel.travel();
          }
      }  
    • 描述:环境类,包含一个出行策略对象
    • public class Main {
          public static void main(String[] args){
              Context context=new Context(new Flighjt());
              context.travel();
          }
      }
      
  • 相关阅读:
    office(PPT、Word、Excel)功能目录
    《数商》笔记
    笔记模板
    如何运用思维导图安排考生读书计划(增订版)
    自制桌面图片
    selenium+AutoIt
    selenium中应用问题解决
    mysql卸载
    vue每次修改刷新当前子组件
    vue与dajngo
  • 原文地址:https://www.cnblogs.com/yangyunnb/p/6441322.html
Copyright © 2011-2022 走看看