设计模式之状态模式和策略模式

我的技术博客:http://linger.devhub.com/blog/705591-blog-post/

设计模式之状态模式和策略模式

 

什么时候用到状态模式:

1 一个object的行为取决于它当前的状态,并且状态会随着时间或行为而改变

2 当操作需要很多分支判断时,果断用状态模式,把各种条件判断封装到不同的类中。

(《大话设计模式》16章)

设计模式之状态模式和策略模式_第1张图片

 

 

 

设计模式之状态模式和策略模式_第2张图片

注意最后一句,通常是不同类中某个方法的名相同,但具体操作不同。

策略模式形式上有点像状态模式,但是策略模式是没有状态这个概念的,她只是定义了一序列算法,而算法的目的或者功能可以说是一样的,最典型的是

设计模式之状态模式和策略模式_第3张图片

 

策略模式跟简单工厂模式混着更好,《大话设计模式》的例子很典型。

 

你可能感兴趣的:(设计模式)