情景:把一堆算法塞到同一段代码中,然后使用if-else或者switch-case条件语句来决定要使用哪个算法?这些算法可能是一堆相似的类函数或方法,用以解决相关的问题。例如验证数据输入的情形,数据本身可以是任何数据类型(如CGFloat,NSString,NSInteger等),每种数据类型需要不同的算法。如果把每一种算法封装成一个对象,那么就能消除根据数据类型决定使用什么算法的一堆if-elseswitch-case语句。 面向对象软件设计中,我们可以把相关算法分离为不同的类,成为策略,对应的设计模式称为策略模式。

Continue reading
  • page 1 of 1
Author's picture

CaryaLiu

@Chengdu


iOS Developer


Chengdu