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