图解设计模式读书笔记(七)——Strategy(策略)模式

顾名思义,策略模式一般应用在使用多种策略(算法)的情况下,比如一些棋牌游戏中,电脑会有多种策略去应付用户,如入门级别,高手级别等。

策略模式将操作抽象成接口,具体的算法由子类实现,有一个上下文环境Context来使用策略进行操作,context只需持有Strategy对象,使用其接口进行操作,而不需要关心具体的算法是如何实现的,当使用某种策略时,是需要给context传对应当ConcreteStrategy,而要切换策略时,也只需替换strategy对象,便可以整体替换掉策略的实现。

图解设计模式读书笔记(七)——Strategy(策略)模式

 

至于文中的猜拳游戏的例子,原理比较简单,但代码逻辑比较繁杂,不再记录。