策略模式是一种定义一系列算法的方法,从概念上说,所有这些算法完成的都是简单的工作,只是实现不同,它可以以相同的方式调用所有算法,减少了各种算法类与使用算法类之间的耦合。策略模式是用来封装算法的。策略模式的strategy类层次为context定义了一系列的可供重用的算法或者行为。
策略模式定义了一个共同的抽象算法接口,其子类实现这个接口定义的方法,并且都有各自不同的实现,这些算法实现可以在客户端调用它们的时候互不影响的变化。 子算法之间是弱连接的关系,提高了软件的可扩展性与可重用性。
代码如下: