【发布时间】:2015-03-26 10:14:23
【问题描述】:
我正在做一个学校项目,或任务是设计一个项目管理工具。我们可以使用任何设计模式,只要我们能够根据 GRASP 原则解释它的优点。
我会给出项目工具的概要:
- 项目的 CRUD 功能
- 任务的 CRUD 功能(项目有任务)
- 用户的 CRUD 功能(为用户分配任务)
- 一个简单的图形用户界面
我们决定采用 MVC 模式,并且不允许使用数据库。我的问题是:我应该在哪里存储对象?
我应该在控制器中执行此操作吗?目前我们这样做:
public class ProjectController
{
private ArrayList<Project> projects;
public ProjectController(TaskController taskController)
{
projects = new ArrayList<Project>();
}
}
我感觉将对象保留在控制器中有些问题,但我无法解释原因。任何人都可以根据 GRASP 原则解释最佳实践是什么?
编辑: 谢谢,向大家学习了一些东西,但只能选择一个答案。
【问题讨论】:
-
对象存储在模型中,这就是
MVC的M部分的全部意义所在。不一定要持久化数据,例如你可以把它放在堆上,但是在你的应用程序关闭后它就会丢失。
标签: java model-view-controller grasp