冗长的业务代码需要进行抽取复用吗?

比如mvc业务分层, 我现在有两个controller层,都有一段相同但300多行的业务逻辑,这300多行中因为是统计功能的关系,调用了各种其他模块的service进行查询。
想把这段业务代码抽出来,不知道该把这种业务代码,放在哪个层级?
主要是想复用。

还有一个问题,有三个初始为null的list作为A方法的形参,但在A方法内部用=赋值,并不会改变原值。有什么办法能在A方法中对这三个List进行赋值吗?

第二个问题,只能先把初始化好的list作为参数,A方法改变里面的元素,引用传递和值传递的区别

业务层代码就放在业务层咯~,
再A方法外面定义初始化三个list全局变量,作为实参传入到A方法中,然后在A方法中修改list是可以改变三个全局变量的值吧