如何命名一个同时执行对象创建和更新的类

时间:2015-04-02 15:33:35

标签: java c# oop

该课程有以下几种方法:

在CreateEmployee

UpdateEmployee

我将成为EmplyeeCrud,但由于班级没有进行删除,我不认为这是一个合适的名称。也就是" crud"在类名的上下文中听起来并不好听。我也在考虑将其命名为EmployeeFactory,但我的理解是工厂是用于创建而不是更新。我还想过将它命名为EmployeeManager,但这表明它是一个类似上帝的类,它不是。

我很感激其他任何建议。

5 个答案:

答案 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的类,例如他们工作的城市。