第一种方式
单一职责原则,方法只做它自己做的事情,需要什么参数就传什么参数。如果说需要多加一个参数了,那么就新建一个方法,这样原来旧方法调用的地方也不用修改。这是符合开闭原则的:面向扩展开放,面向修改关闭。
1 | public List<String> getUsers(String groupId, LocalDate beginDate, LocalDate endDate) { |
第二种方式
当有前端传参,需要做综合查询时,传一个实体作为参数,那么就算前端需要更多查询条件,只需要前端多传一个就行了,这种情景下,方式一就不太适合。
而如果方式一情景下用方式二的方法,那么有很多调用的地方也行根本不需要实体里的其他参数,如果不传或者传错,有可能造成错误。
1 | public List<Users> getProjects(User param) { |
所以,这两种方式要权衡使用场景,而不是一味追求某种方式。