gpt4 book ai didi

java - MVC模式,没有数据库,对象存放在哪里?

转载 作者:行者123 更新时间:2023-11-29 07:41:51 25 4
gpt4 key购买 nike

我正在做一个学校项目,或者任务是设计一个项目管理工具。我们可以使用任何设计模式,只要我们能够根据 GRASP 原则解释它的好处。

我将给出项目工具的概要:

  • 项目的 CRUD 功能
  • 任务的 CRUD 功能(项目有任务)
  • 用户的 CRUD 功能(用户被分配任务)
  • 一个简单的图形用户界面

我们决定采用 MVC 模式,并且不允许使用数据库。我的问题是:我应该在哪里存储对象?

我应该在 Controller 中执行此操作吗?目前我们是这样做的:

public class ProjectController
{
private ArrayList<Project> projects;

public ProjectController(TaskController taskController)
{
projects = new ArrayList<Project>();
}
}

我觉得将对象保留在 Controller 中有问题,但我无法解释原因。任何人都可以根据 GRASP 原则解释什么是最佳实践?

编辑:谢谢,从大家那里学到了一些东西,但只能选择一个答案。

最佳答案

一个非常简短的回答:不,不要将你的商店放在 Controller 中。这是个坏主意,它违反了 MVC 原则。

通常,模型是唯一负责你的数据的地方,但 M 部分经常被分成:

  • 获取数据。
  • 在应用程序中存储数据。

有趣的是,没有人关心您的数据来自何处。一个数据库,一个文件,一个API rest。无论如何,没关系。

我并不是说我有最适合你的解决方案,但这里是你如何通过一个例子来做到这一点。

  • 您将用户数据存储到一个文件中。
  • 您创建一个 php 类 UserDataRepository 来获取用户数据文件,并将数据设置到您的 UserModel 类中。
  • 从 Controller 调用您的 UserDataReposiroty 并取回您的 UserModel

这样你的 Controller 就不知道你是如何获取数据的。他只是要求存储库获取它们,它返回允许 Controller 操作的 UserModel。

希望对你有帮助

关于java - MVC模式,没有数据库,对象存放在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29275878/

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