我正在我的第一个MVC项目中工作,该项目包含在线测验Web应用程序。我目前正在做我的文档,我正在试图弄清楚我的类图是什么样的。用户管理员,教师和学生有三种类型。
到目前为止,我已得出结论,我需要将其作为模型的一部分:
* UsersDAO * QuestionsDAO *测验模型 *测验查询
对于控制器,我可能需要一个LoginController,而QuizController可能需要一个UserController
我不确定我是否应该有一个" View"对于每个"控制器",或者如果我需要一个"控制器"适用于所有类型的用户。我在互联网上找到的例子非常简单,因为它们只包含一个Action。
请提出任何建议?
答案 0 :(得分:1)
您的模型包括以下操作(没有登录系统):
教师(CRUD),设计考试题目和分数答案
学生(CRUD),参加测验,并获得测验分数
测验(CRUD)
因此,您可以通过三个Controller
实现此模型:
TeacherController
StudentController
QuizController
对于CRUD
操作,您可以使用View
但是对于其他操作,您应该添加新的View
。
答案 1 :(得分:1)
UML的重点是以抽象的方式设计系统。像控制器和视图这样的东西可能会有所不同,具体取决于你最终构建它的系统。你应该建模的只是你的业务对象和它们之间的关系,而不是它们将如何被持久存在或者这些关系是如何形成的。管理。
像视图或控制器之类的东西不是通用概念。并非每个框架都具有这些内容的概念,因此,根据定义,包含这些内容的模型 not “universal”。 FWIW,我也会对诸如DAO,DTO,View Models等建模进行设计。这些也是实现细节,并且高度依赖于框架,数据存储等等。