我正在做一个学校项目,或者任务是设计一个项目管理工具。我们可以使用任何设计模式,只要我们能够根据 GRASP 原则解释它的优点。
我将给出项目工具的概要:
- 项目的 CRUD 功能
- 任务的 CRUD 功能(项目有任务)
- 用户的 CRUD 功能(将用户分配给任务)
- 一个简单的图形用户界面
我们决定采用 MVC 模式,并且不允许使用数据库。我的问题是:我应该在哪里存储对象?
我应该在控制器中执行此操作吗?目前我们这样做:
public class ProjectController
{
private ArrayList<Project> projects;
public ProjectController(TaskController taskController)
{
projects = new ArrayList<Project>();
}
}
我感觉将对象保留在控制器中有些问题,但我无法解释原因。任何人都可以根据 GRASP 原则解释最佳实践是什么?
编辑: 谢谢,从大家那里学到了一些东西,但只能选择一个答案。