有段业务重构
void function (){
A a=method1(int id);
method2(B b,C c);
method3(D d,C c);
}
就是一个功能模块,原来是一个大方法
从头处理到尾,中间仅仅有几处小不同,类似于
处理一个订单,只有付款接口的参数是不同的
最后处理方式有些增加了额外的处理,
原来都是用 if else 判断订单类型,这样每次都要改代码
所以现在准备分拆成几个小方法,如上,
这样每次只要重新实现一个类,覆盖掉某个方法就可以了
但是现在遇到一个问题,就是传递参数的问题,原来一个
大方法,可以从头用到尾,现在,需要在 method1 用到的 A 、 B , C
然后 method2 中间又要去查询一次,影响效率,否则就要原封不动的放到参数里面
这样感觉很麻烦,不知道有没有合适的方法或者设计模式
能够让实现的轻松点,原来的实现方式是声明一个大 map ,然后全部放到 map 里面
每次就只传一个 map ,感觉不够明确,而且容易取值的时候写错 key ,如果声明为
全局变量,感觉也不好,所以想看看
大家有什么好主意
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.