2012年7月11日 17:50:33
当遇到业务逻辑中有一个方法不能直接为我们使用时:
1.覆盖
如果是使用的多态机制,那么直接覆盖这个方法就行。但前提是,当我们覆盖后不会
对原来的业务有所影响,影响的仅仅只是我们当前处理的业务。只有当前的业务会走
到。
2.方法解耦
将方法中的业务代码与逻辑代码分开,做成一个两方都适用的方法。
3.特殊化
不推荐:比如一个方法的业务逻辑判断,最后结果要返回一个 true false 或 一个对象
而我们的业务逻辑根本就不能走原来的业务逻辑判断,那么就在这个方法的最后加入
代码,判断,如果是我们处理的逻辑(使用 instanceof 或其它)则直接返回我们所
需要的 结果。
这样做跟 覆盖 是一样的,只要不影响原有的业务逻辑即可。