求教项目中if语句过多的难题

06-02-16 doubi17
在服务层我要对一个map中的数据进行修改,但是客户有以下业务需求:

1: if value = 空,

删除对应文件中的数据

2: if value = ""

放一个空值在文件中

文件中的数据也是map结构.

请问Bang兄,针对这种根据数值选取策略的逻辑如何处理?

我尝试使用state模式,但是这种问题不涉及状态转换,

况且实际中,map中的数据可能非常多

我上边列出的只是其中两种情况,

实际中,应为要处理客户cancel的情况所以要储存备份,

在修改时先要判断是否发生了变化,

在程序中所写的if 语句大概在10个左右。

    

xyxx
2006-02-17 19:19
为了减少ifelse,甚至可考虑采用 位运算 或 map 叠加算法,复杂点去找apache commons包,又何必强调什么模式!具体问题具体分析。

doubi17
2006-02-18 19:00
不好意思我没说清楚。简单来说就是你要根据客户输入不同的数值来采取不同的添加修改删除操作,会造成程序中有过多的if else 语句,难以维护,请问这种情况,有没好点的解耦方法。

banq
2006-02-19 12:41
>同的数值来采取不同的添加修改删除操作

很显然命令模式适合这个场景,具体实现你需要告知更多业务场景。

我们可以编制一个XML配置文件,每个数值对应一个类,如下:

<command no="1" class="com.jdon.xxx.xxAction"/>
<command no="2" class="com.jdon.xxx.xxAction2"/>
....
<p>

猜你喜欢