zoukankan      html  css  js  c++  java
  • 设计模式(10)Stategy策略设计模式

    一.什么是策略模式

    只需替换算法的实现部分,就可以让我们轻松使用不同的算法去解决同一个问题.

    二.例子

    1.类

    Hand : 表示猜拳游戏中的"手势"的类.

    Strategy : 表示猜拳游戏中的策略的抽象类.

    WinningStrategy : 表示Strategy的实现方法类

    ProbStrategy : 表示Strategy的实现方法类

    Player : 表示进行猜拳游戏的选手的类

    Main : 测试程序进行的类

    2.思路

    Player通过定义其Strategy是WinningStrategy类 或者是 ProbStrategy类 来决定他的策略是什么.

    3.作用

    a.在程序中可以切换不同的角色.例如在内存容量少的运行环境中科院使用 速度慢但省内存的策略,在内存容量多的运行环境中则可以使用 速度快但耗内存的策略.

    b.还可以用一个算法去盐酸另一个算法,例如用高速但计算上可能有bug的算法 去验算 低速但计算准确的算法.

  • 相关阅读:
    剩余类&完全剩余组
    同余验算法
    一种快速余数求法
    同余的性质II
    同余初步
    求N个数的最小公倍数
    N个数GCD求解法
    快速求解GCD的三个Trick
    质数的几个有趣问题
    等比数列求和公式
  • 原文地址:https://www.cnblogs.com/zhongxuan/p/7450106.html
Copyright © 2011-2022 走看看