2 个解决方案
#1
策略模式的使用场合:
1、许多相关类仅仅是行为不同。
2、需要使用一个算法的不同实现。
3、算法使用了客户不应该知道的数据。策略模式可以避免暴露复杂的、与算法相关的数据结构。
4、一个类定义了很多行为,而且这些行为在这个类里的操作以多个条件语句的形式出现。策略模式将相关的条件分支移入它们各自的 Strategy 类中以代替这些条件语句。
http://blog.csdn.net/defonds/article/details/16832081
1、许多相关类仅仅是行为不同。
2、需要使用一个算法的不同实现。
3、算法使用了客户不应该知道的数据。策略模式可以避免暴露复杂的、与算法相关的数据结构。
4、一个类定义了很多行为,而且这些行为在这个类里的操作以多个条件语句的形式出现。策略模式将相关的条件分支移入它们各自的 Strategy 类中以代替这些条件语句。
http://blog.csdn.net/defonds/article/details/16832081
#2
@Defonds 对于第三点不是很理解
#1
策略模式的使用场合:
1、许多相关类仅仅是行为不同。
2、需要使用一个算法的不同实现。
3、算法使用了客户不应该知道的数据。策略模式可以避免暴露复杂的、与算法相关的数据结构。
4、一个类定义了很多行为,而且这些行为在这个类里的操作以多个条件语句的形式出现。策略模式将相关的条件分支移入它们各自的 Strategy 类中以代替这些条件语句。
http://blog.csdn.net/defonds/article/details/16832081
1、许多相关类仅仅是行为不同。
2、需要使用一个算法的不同实现。
3、算法使用了客户不应该知道的数据。策略模式可以避免暴露复杂的、与算法相关的数据结构。
4、一个类定义了很多行为,而且这些行为在这个类里的操作以多个条件语句的形式出现。策略模式将相关的条件分支移入它们各自的 Strategy 类中以代替这些条件语句。
http://blog.csdn.net/defonds/article/details/16832081
#2
@Defonds 对于第三点不是很理解