[英]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”,那么第二种方法将使您更容易实现变更。 使用第一种方法,您必须更改findEmployees方法的每次调用
我认为通过部门更有意义。 因为当我们说DAO层时,我们只看到必须处理数据的视角。 我们应该在业务逻辑层中包含emp.getDeptNo()。
但谈到可扩展性,如果未来你可能想发送一些其他的参数说dept,DOJ等。 因此,在这种情况下,您可以创建另一个类说Criteria并将params字段放在该类中,并将此类的Object传递给find()方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.