0

假设我们有 2 个表“部门”和“用户”。对于用户<->部门关系,还有另一个名为“UserDeps”的表。对于前 2 个表,我们有 2 个域对象类。应用程序中有一个图层。用于将表格转换为对象,反之亦然。

现在的问题:我有一个这样的方法: List GetDepartmentUsers(long depid);

我的问题是:你把这个方法放在哪里?

  1. 作为“部门”类中的静态方法?(显然语法是这样的:

List<Users> GetDepartmentUsers(long depid, DataHelper dh);

  1. 作为每个“部门”对象的实例方法?

Department dep = new Department(depid);

DataHelper dh = new DataHelper();

dep.GetDepartmentUsers(dh);

注意:“DataHelper”是一个处理 DB/SQL 操作的类。

4

1 回答 1

0

在不了解整个上下文的情况下,仅根据提供的内容,第二种解决方案更好。一个部门有用户,因此,要求一个部门获取其用户列表是有意义的。

第一个不是面向对象的。因为静态方法只是一个函数,而不是 OO 意义上的方法。这样的功能扼杀了面向对象的目的。

于 2015-07-31T14:01:35.497 回答