HTML5 专栏Web前端之路Android开发经验谈

iOS 策略设计模式

2017-11-23  本文已影响162人  石虎132

//联系人:石虎QQ:1224614774昵称:嗡嘛呢叭咪哄

一、策略设计模式 简介

1.概念:

策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。

2.应用场景:

*一个类在执行中使用多个if-else来决定行为。

*需要算法的各种变体。

*对客户隐藏具体策略(算法)的实现细节,彼此完全独立。

二、提出问题

1.如果想封装一些算法,不想让算法直接暴露出来?或者项目里面的一些if-else过于复杂,每个else里都有很多的算法代码,这些算法可能是一些相似的函数或者方法?

2.如果能把每个算法封装成一个对象,那么就能消除根据类型决定使用什么算法的一些if-else语句,可以考虑使用策略设计模式。

三、策略模式的优缺点

优点:

1、提供了管理相关的算法族的办法。可以封装一些算法,不想让算法直接暴露出来。

2、可以避免使用多重条件转移语句,消除根据类型决定使用什么算法的一些if-else的语句。

缺点:

1、使用之前必须知道所有的策略,使用中不能动态改变,在实例话的时候就设定好需要使用的策略类了。

谢谢!!!

上一篇 下一篇

猜你喜欢

热点阅读