繁体   English   中英

将String或Employee对象作为参数传递

[英]Pass String or Employee object as parameter

我有一个方法将从ManagedBean调用如下

getemployeeService().findEmployees(qData);

qData只是一个用于传递lazyload load方法参数的类。

EmployeeQueryData qData = new EmployeeQueryData(start, end, sortField, order, filters);

我想在DAO类findEmployees一个for参数传递给findEmployees方法,以便根据deptNo获取员工。

我怀疑是否应该传递另一个参数

getemployeeService().findEmployees(qData, String deptNo);

或者将Employees类传递给

getemployeeService().findEmployees(qData, Employees emp);

在DAO中,我调用deptNo作为emp.getDeptNo

什么是最好的方法和做法? 任何建议和见解都非常值得赞赏。

这两种方法都有利有弊,但您应该考虑程序的业务需求发生变化的可能性。

例如,如果将来需求发生变化,说“我们不仅应该通过他/她的depno定位员工,还需要找到employeeId”,那么第二种方法将使您更容易实现变更。 使用第一种方法,您必须更改find​​Employees方法的每次调用

我认为通过部门更有意义。 因为当我们说DAO层时,我们只看到必须处理数据的视角。 我们应该在业务逻辑层中包含emp.getDeptNo()。

但谈到可扩展性,如果未来你可能想发送一些其他的参数说dept,DOJ等。 因此,在这种情况下,您可以创建另一个类说Criteria并将params字段放在该类中,并将此类的Object传递给find()方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM