策略模式总结

策略模式属于对象的行为模式。其用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得他们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。

一、策略模式的结构


策略模式总结

这个模式设计到三个角色:

* 环境(context)角色:持有一个Strategy类的引用。

* 抽象策略(Strategy)角色:这是一个抽象角色,通常由一个接口或抽象类实现,此角色给出所有的具体策略类所需的接口。

* 具体策略(Concrete Strategy)角色:包装了相关的算法或行为。

二、代码

Context:

<code>

public

class

Context

{

private

Strategy strategy;

public

void

contextInterface

()

{ strategy.strategyInterface(); } }/<code>

Strategy:

<code>

public

abstract

class

Strategy

{

public

abstract

void

strategyInterface

(

)

; }/<code>

ConcreteStrategy:

<code>

public

class

ConcreteStrategy

extends

Strategy

{

public

void

strategyInterface

()

{ } }/<code>


策略模式总结


分享到:


相關文章: