代码之美1:使用策略模式来编写solr 排序方法

 

代码之美1:使用策略模式来编写solr 排序方法

 

 

背景:

 

jsp中有排序方式几个方式选择(select下拉框方式),value 传入到controller-->manager 基于这个value 构造排序方法

 

原代码: if else if 判断方式

 


代码之美1:使用策略模式来编写solr 排序方法_第1张图片

 

优点:

代码简单易懂

 

缺点:

新增排序方式的时候,需要增加常量和判断

 

 

 

使用策略模式 :

 


代码之美1:使用策略模式来编写solr 排序方法_第2张图片

  

缺点:

增加了代码的理解度,enum(jdk1.4特性)相关知识才能明白

 

优点:

体现了oop的思想,层次更加清晰

扩展方便,

 

 

总结:

1.上面只是代表着一种思路,不要一味的认为非得用enum来替代if elseif,有时反而增加复杂度

2.策略模式使用场景

 

  • 以不同的格式保存文件;
  • 以不同的算法压缩文件;
  • 以不同的算法截获图象;
  • 以不同的格式输出同样数据的图形,比如曲线 或框图bar

 

 

 

 

你可能感兴趣的:(Solr)