Java 应该';registerCustomer()和#x27;属于客户类或主/驱动类

Java 应该';registerCustomer()和#x27;属于客户类或主/驱动类,java,class,methods,Java,Class,Methods,假设我想实现以下方法: void registerCustomer(); void displayCustomer(); void editCustomer(); void deleteCustomer(); 假设我有以下课程: public class Main { public static void main(String[] args) { // put your stuff here } // void registerCustomer()

假设我想实现以下方法:

void registerCustomer();
void displayCustomer();
void editCustomer();
void deleteCustomer();
假设我有以下课程:

public class Main {
    public static void main(String[] args) {
        // put your stuff here
    }

    // void registerCustomer() { ... }
}

我应该在
Main
类还是
Customer
类中实现这些方法


我能够以任何一种方式实现它们而不会出错。但哪一种是“更好”的方式?我应该怎么做呢?

更改或提取单个客户的状态、姓名、电话号码、id号等的方法,或者是单个客户固有行为的一部分的方法,应该是Customer类的一部分

更改客户集合状态的方法--添加客户、删除、选择,。。。应该在其他地方,在它自己的类中(或者主类,如果它是唯一的其他类)

所以

这些都不是客户本身的一部分,因为它们似乎与客户的集合或分组一起工作,而不是关注单个客户的状态:

void registerCustomer();
void displayCustomer();
void editCustomer();
void deleteCustomer();

您可能会说,
editCustomer()
应该是Customer类的一部分,因为它似乎在编辑单个客户,但我认为不是,这似乎是在尝试更改集合或某种GUI中选定客户的状态。

用于更改或提取单个客户状态的方法,即名称,电话号码、身份证号码等,或者是单个客户固有行为的一部分,应该是客户类的一部分

更改客户集合状态的方法--添加客户、删除、选择,。。。应该在其他地方,在它自己的类中(或者主类,如果它是唯一的其他类)

所以

这些都不是客户本身的一部分,因为它们似乎与客户的集合或分组一起工作,而不是关注单个客户的状态:

void registerCustomer();
void displayCustomer();
void editCustomer();
void deleteCustomer();

您可能会说,
editCustomer()
应该是Customer类的一部分,因为它似乎只编辑一个客户,但我认为不是,这似乎试图更改集合或某种GUI中选定客户的状态。

这些方法应该在其他地方实现,而不是在
客户
类中实现。我建议您创建另一个名为
CustomerService
的类,并使其实现这些方法。另外,不要忘记为您的方法提供参数:)

这些方法应该在其他地方实现,而不是在
Customer
类中实现。我建议您创建另一个名为
CustomerService
的类,并使其实现这些方法。另外,别忘了为您的方法提供参数:)

有一些好的方法和方法可以让您轻松做出此类决策。研究领域驱动设计和类似系统。在这里,这主要是收集意见。有很好的方法和途径,使做出这样的决定变得容易。研究领域驱动设计和类似系统。在这里,这主要是收集意见。