gpt4 book ai didi

java - 我们如何在java中实际实现实体边界控制模式?

转载 作者:行者123 更新时间:2023-12-01 14:44:52 26 4
gpt4 key购买 nike

我正在尝试创建一个图书馆管理系统。现在,我知道边界不能直接与实体交互。控制类充当边界类和实体类之间的中介。然而,这些类的对象是什么时候创建的呢?

首先,我们来谈谈登录。边界将是使用 Java Swing 创建的登录表单的 UI。 Controller 类将是 PersonController,其中包含一个名为“validateUser()”的函数。名为 User 的实体类包含用户的信息并访问数据库。

现在,我需要创建 UI,使用操作监听器从 UI 获取用户名和密码,然后使用用户名和密码创建一个 User 实体,然后调用 PersonController 的 validateUser() 方法来检查是否登录正确且用户有效。

我该怎么做?我在哪里创建这些对象?

到目前为止,这是我的代码:

public class MainClass { // main class

public static void main(String[] args) {
PersonController loginSession = new PersonController(); //UNSURE
}
}

public class PersonController {

public PersonController(){
LoginUI loginForm = new LoginUI(); //UNSURE
loginForm.setVisible(true); //UNSURE
}
//implementation of the validateUser() function
}

public class User {
private String username;
private String password;
private String role;
private String name;
private String phone;
private String email;
// get & set methods and accessing the database

}
public class LoginUI{
//entire code for the UI in Java Swing created using Netbeans IDE
}

最佳答案

在我看来,这个过程应该是这样的......

您拥有三个元素:UI、模型和 Controller 。

UI 向用户提供选择...

模型需要创建一个 User 对象(因为您的 UI 不应该了解如何实际实现这一点)。

Controller 将负责响应来自 UI 的事件并决定应该做什么。

当用户输入值并单击“接受”操作(无论是什么)时, Controller 会捕获该事件并从 UI 请求 User 对象。 UI 获取用户输入的信息,并要求模型使用这些值创建一个 User 对象。

Controller 可以验证User对象。

在任何时候,流程的任何部分都可以选择抛出异常。由于 UI 是系统中唯一可以实际与用户对话的部分,因此 UI 负责显示这些错误。

基本工作流程可能看起来像这样......

创建模型、表单和 Controller 。

将模型添加到表单,将表单添加到 Controller 。

这些不同元素之间的交互必须尽可能通过接口(interface)完成。任何部分都不应该比它绝对需要的更多地了解另一部分 - 恕我直言。

我的第一步是 - 清楚地了解你想要实现的目标。弄清楚谁负责什么,并设计将它们连接在一起所需的桥梁

关于java - 我们如何在java中实际实现实体边界控制模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15536404/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com