【设计模式】策略模式
2016-10-09 16:47
155 查看
一、策略模式原则:
①封装变化:把会变化的部分取出并封装起来,以便以后可以轻易地改动或扩充此部分,而不影响不需要变化的其他部分。
②针对接口编程,而不是针对实现编程。
③多用组合,少用继承。
策略模式:定义了算法族,分别封装起来,让他们之间可以相互替换,此模式让算法的变化独立于使用算法的客户。
二、状态模式:
允许对象在内部状态改变时改变它的行为,对象看起来好像修改了它的类。
三、策略模式和状态模式的异同点:
1、策略模式和状态模式的类图是一样的。
策略模式允许对象能够通过 组合和委托来拥有不同的行为或算法。有一个可以实例化的类,通常给他一个实现某个行为的策略对象。
状态模式:当Context对象被创建之后,我可以告诉他们从什么状态开始,然后他们会随着时间而改变自己的状态。Context对象会随着时间而改变状态,而任何的状态改变都是定义好的。换句话或,“改变行为”这件事是建立在我的方案中的。
①封装变化:把会变化的部分取出并封装起来,以便以后可以轻易地改动或扩充此部分,而不影响不需要变化的其他部分。
②针对接口编程,而不是针对实现编程。
③多用组合,少用继承。
策略模式:定义了算法族,分别封装起来,让他们之间可以相互替换,此模式让算法的变化独立于使用算法的客户。
二、状态模式:
允许对象在内部状态改变时改变它的行为,对象看起来好像修改了它的类。
三、策略模式和状态模式的异同点:
1、策略模式和状态模式的类图是一样的。
策略模式允许对象能够通过 组合和委托来拥有不同的行为或算法。有一个可以实例化的类,通常给他一个实现某个行为的策略对象。
状态模式:当Context对象被创建之后,我可以告诉他们从什么状态开始,然后他们会随着时间而改变自己的状态。Context对象会随着时间而改变状态,而任何的状态改变都是定义好的。换句话或,“改变行为”这件事是建立在我的方案中的。
相关文章推荐
- 设计模式之Strategy(策略)
- 设计模式之策略模式(strategy)--游戏角色使用武器
- [设计模式] 23.Strategy 策略模式
- [★] .NET 偶尔连接的设计策略 -联机状态- 脱机模式- 数据同步
- 设计模式袖珍版 连续转载之 - Strategy(策略)
- 乐在其中设计模式(C#) - 策略模式(Strategy Pattern)
- 设计模式随笔系列:鸭子-策略模式(Strategy)[原]
- 设计模式之Strategy(策略)
- 设计模式之策略模式探讨初步[引]
- 设计模式随笔系列:鸭子-策略模式(Strategy)[转]
- 设计模式之Strategy(策略)
- Java设计模式学习之一---策略模式
- AspectJ实现设计模式(二)——策略模式
- 设计模式之策略模式探讨初步
- 设计模式之Strategy(策略)
- 设计模式之Strategy(策略)
- 设计模式与泡mm的关系之strategy策略模式及再思考
- 设计模式之Strategy(策略)
- 设计模式随笔系列:鸭子-策略模式(Strategy)
- 设计模式(20)-策略模式(Strategy)