zoukankan      html  css  js  c++  java
  • Java设计模式——策略模式

    策略模式的定义:

    策略模式其实特别好理解,俗话说得好,条条大路通罗马,做的都是一件事,实现的方式却可以千万种,在这种情况下,如何使得每个人都可以根据自己的喜好来选择具体的方式,在调用时可以根据不同方式的变化而互不影响的变化。

    策略模式的实现:

    1.首先定义一个策略接口。

    2.根据不同的方式具体的实现这个策略接口。

    3.在使用策略对象的类中,定义一个该策略接口的引用,通过构造方法完成赋值。

    策略模式的应用:

    1.定义一个旅行接口
    public
    interface Travel { public void transportation(); }
    2.三个不同的实现方式,分别为开车、乘火车、乘飞机旅行
    class Car implements Travel { public void transportation() { System.out.println("自己开车去欧洲旅行!"); } } class Train implements Travel { public void transportation() { System.out.println("乘火车去欧洲旅行!"); } } class Plane implements Travel { public void transportation() { System.out.println("乘飞机去欧洲旅行!"); } }
    3.定义一个对外调用的策略类,通过构造方法引入旅行接口
    public class Strategy { private Travel travel; public Strategy(Travel travel) { this.travel = travel; } public void transportation() { travel.transportation(); } }
    4.测试不同的旅行方式
    public class StrategyTest { public static void main(String[] args) { Strategy strategy = new Strategy(new Car()); strategy.transportation(); Strategy strategy1 = new Strategy(new Train()); strategy1.transportation(); Strategy strategy2 = new Strategy(new Plane()); strategy2.transportation(); } }
  • 相关阅读:
    [转]android Intent机制详解
    [转]Android进程与线程基本知识
    HTML背景图片自适应
    边框边界填充理解
    [转]Android 代码自动提示功能
    [转]Windows7:Visual Studio 2008试用版的评估期已经结束解决方法
    eclipse安装、汉化、搭建安卓开发环境
    asp.net控件拖不动。控件错误
    opengl 入门浅学(一)
    opengl 无法定位程序输入点_glutInitWithExit于动态链接库glut32.dll上
  • 原文地址:https://www.cnblogs.com/zengxiaoliang/p/8074571.html
Copyright © 2011-2022 走看看