代码重构----整洁之道

用多态代替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模式

posted @ 2018-11-09 11:21  一只发霉的猪  阅读(132)  评论(0编辑  收藏  举报