设计模式(10)Stategy策略设计模式

一.什么是策略模式

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

 

二.例子

1.类

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

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

WinningStrategy : 表示Strategy的实现方法类

ProbStrategy : 表示Strategy的实现方法类

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

Main : 测试程序进行的类

 

2.思路

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

 

3.作用

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

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

 

posted on 2017-08-30 01:40  li仲玄  阅读(260)  评论(0编辑  收藏  举报

导航