Java方法传参到底传所需参数好还是传实体好?

您所在的位置:网站首页 java方法的参数列表 Java方法传参到底传所需参数好还是传实体好?

Java方法传参到底传所需参数好还是传实体好?

2023-08-15 09:20| 来源: 网络整理| 查看: 265

今天因为一个方法传参问题,被开发经理批评了,于是我就想搞明白我到底错了没有。 我这个方法,是为了做统计用的,也就是说,是针对某种情况写的方法。而不是像前端综合查询那样很稳定,需要很多查询条件的方法。 于是我问了一位上仙级导师,他给我的答复了,我觉得有道理,按我的理解整理一下,记录下来,如果有错误,一定是我理解错了,可不关人家上仙导师的事。 第一种方式,单一职责原则,方法只做它自己做的事情,需要什么参数就传什么参数。如果说需要多加一个参数了,那么就新建一个方法,这样原来旧方法调用的地方也不用修改。这是符合开闭原则的:面向扩展开放,面向修改关闭。 而我们开发经理批评我的理由:“你这样写,我需要扩展了,就要改所有的调用的地方。” 她这个说法是不符合开闭原则的,因为我们说的扩展,是在不修改当前方法的基础上扩展,而不是让她扩展参数,她这不叫扩展,叫修改。上仙说这是很低级的设计方式。

public List getUsers(String groupId, LocalDate beginDate, LocalDate endDate) { //TODO return null; }

第二种方式 当有前端传参,需要做综合查询时,传一个实体作为参数,那么就算前端需要更多查询条件,只需要前端多传一个就行了,这种情景下,方式一就不太适合。 而如果方式一情景下用方式二的方法,那么有很多调用的地方也行根本不需要实体里的其他参数,如果不传或者传错,有可能造成错误。

public List getProjects(User param) { //TODO return null; }

所以,这两种方式要权衡使用场景,而不是一味追求某种方式。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3