该课程有以下几种方法:
在CreateEmployee
UpdateEmployee
我将成为EmplyeeCrud,但由于班级没有进行删除,我不认为这是一个合适的名称。也就是" crud"在类名的上下文中听起来并不好听。我也在考虑将其命名为EmployeeFactory,但我的理解是工厂是用于创建而不是更新。我还想过将它命名为EmployeeManager,但这表明它是一个类似上帝的类,它不是。
我很感激其他任何建议。
答案 0 :(得分:1)
执行CRUD功能的对象的两个常用名称是" Registry"和"存储库",所以我会选择其中一个名字。例如,EmployeeRegistry
听起来相当自我描述:
public interface EmployeeRegistry {
Employee createEmployee(/* some args */);
void updateEmployee(Employee e, /* more args */);
}
答案 1 :(得分:1)
对象应按照封装惯例处理自己的更新。无论处理数据是什么,都应该简单地参数化依赖关系。
如果您愿意,可以创建一个池/堆/容器类,以确保跟踪程序中的所有Employee
个对象。然后,让容器类与实际对象分离,这样您就可以切换容器或数据,但仍然可以使用它。
答案 2 :(得分:0)
在我看来,你应该使用两个类和下面描述的接口:
接口:有一个接口,描述为任何对象集合执行常见任务的方法,如重命名,删除,更新等。
实现接口的类Employee
。在构造函数中,您可以创建并设置员工"可能有多个构造函数。
一个容器类,可以调用Employee
类中实现的接口方法。容器类本身可以是列表,向量或您认为最好的任何内容。
答案 3 :(得分:0)
这个班级的最佳名称是'员工'因为它只是在员工身上运作。
如果方法正在访问数据存储,那么在我们习惯的标准应用程序分层/贫血对象模型方法中这可能不实用。在这种情况下,您可以将此类称为EmployeDao或EmployeeRepository。
答案 4 :(得分:0)
您可以创建一个类EmployeeBuilder
并在类Employee
的公共方法中进行更新。 EmployeeBuilder
可以保存某些员工之间共享的数据。方法EmployeeBuilder#build()
将获取这些员工之间未共享的所有信息作为参数,并将调用Employee
的构造函数。
EmployeeFactory
应该是一个基于一些常见数据创建具体EmployeeBuilder
的类,例如他们工作的城市。