背景:
jsp中有排序方式几个方式选择(select下拉框方式),value 传入到controller-->manager 基于这个value 构造排序方法
原代码: if else if 判断方式
优点:
代码简单易懂
缺点:
新增排序方式的时候,需要增加常量和判断
使用策略模式 :
缺点:
增加了代码的理解度,有enum(jdk1.4特性)相关知识才能明白
优点:
体现了oop的思想,层次更加清晰
扩展方便,
总结:
1.上面只是代表着一种思路,不要一味的认为非得用enum来替代if elseif,有时反而增加复杂度
2.策略模式使用场景
- 以不同的格式保存文件;
- 以不同的算法压缩文件;
- 以不同的算法截获图象;
- 以不同的格式输出同样数据的图形,比如曲线 或框图bar等