代码重构----整洁之道
用多态代替if:https://blog.csdn.net/benpaobagzb/article/details/50803586
多态可以用继承、接口来实现
枚举也可以用来实现多态,举例:
private enum InvBaseHandler {
InvAHandler {
void update(String parameter) {
system.println.out("我是张三")
}
},
InvBHandler {
void update(String parameter) {
system.println.out("我是李四")
}
}
};
public static InvBaseHandler getHandler(String type) {
if ("A".equals(type)) {
return InvAHandler;
} else {
return InvBHandler;
}
}
void update(String parameter) { }
}
调用方式:
InvBaseHandler handler = InvBaseHandler .getHandler("A");
handler.update("param");
InvBaseHandler 相当于是基类,InvAHandler 和InvBHandler相当于是子类,对基类中的update方法重写。
builder模式
浙公网安备 33010602011771号