C#初学者,对于项目中,增加if else判断导致修改量太大,该使用怎么样的设计模式破解?
hwyqy 2020-05-02 11:33:02 举个例子,比如客户,有个客户类别,一共分两类,高净值客户,其它客户,显示界面,业务逻辑等不一样,那么,最简单的方法
业务A中:
if (Customer.Type=="高净值")
{
....业务A高净值
}
else
{
...业务A其它
}
业务B中
if (Customer.Type=="高净值")
{
....业务B--高净值
}
else
{
...业务B--其它
}
显示界面A中:
if (Customer.Type=="高净值")
{
....装载A列表,禁用A按钮等
}
else
{
...
}
还有业务C,业务D,界面B,界面C等
结果,某天,突然说,还要弄个低净值,那么上面的if else 不行了
if (Customer.Type=="高净值")
{
....
}
else if (Customer.Type=="低净值")
{
...
}
else
{
...
}
当然,例子中简化了,实际应用肯定复杂。其实本身修改很简单,问题是
1、项目中写了if else 的地方,比较多,时间一长,肯定不记得哪些地方要改,会漏了。项目比较庞大,要都找出来不容易
2、每个业务中的if else处理也不一样,想集中也没什么头绪
3、业务方面的代码,也能想办法集中,但是涉及到界面方面的,asp.net中,涉及到很多页面,想不到集中的办法
4、如果下次再增加个“中净值",那又得重来一次,就想使得再来一次的工作量降到最低,
用if else 肯定不是种好的方法,还想请教下,这种问题,该怎么破?修改不是问题,能把代码集中在一处,只要找起来方便也行啊