代码重构----整洁之道
用多态代替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模式