最近在开法中,遇到一个问题例如说做一个tips,基本形态是一样的但在具体显示鈈同物品时,会有小部分差异或者是根据情况,传入不同参数增减一小部分显示。于是根据数据if else在tips里做判断当情况越来越多的时候,就变得庞杂而且耦合性很高,加一种类型就要往里面加一段代码,删一种类型又要修改一次。不易读不易维护。
解决这个问题应该可以首先把最基本不变的属性和行为抽出来,这个类里的代码后面是不会动的那些会变的,可以使用一下方法:
1 使用继承在子類里实现特殊部分。这种方法适合情况少代码多的。
2 使用委托通过传入的委托对象来处理特殊部分。这种情况适合代码少情况多的。同时是有默认行为的会先判断有没注册特殊行为,没有就用默认的