C# web应用程序的UML类图MVC模式

C# web应用程序的UML类图MVC模式,c#,asp.net-mvc,model-view-controller,uml,C#,Asp.net Mvc,Model View Controller,Uml,我正在从事我的第一个MVC项目,该项目包含在线测验web应用程序。我目前正在做我的文档,我试图弄清楚我的类图会是什么样子。有三种类型的用户:管理员、教师和学生 到目前为止,我已经得出结论,我需要将此作为我的模型的一部分: *UsersDAO *问题dao *测验模型 *问答 对于控制器,我可能需要一个LoginController,QuizController可能需要一个UserController 我不确定我是否应该为每一个“控制器”都提供一个“视图”,或者我是否需要为每一种类型的用户提供一个

我正在从事我的第一个MVC项目,该项目包含在线测验web应用程序。我目前正在做我的文档,我试图弄清楚我的类图会是什么样子。有三种类型的用户:管理员、教师和学生

到目前为止,我已经得出结论,我需要将此作为我的模型的一部分:

*UsersDAO *问题dao *测验模型 *问答

对于控制器,我可能需要一个LoginController,QuizController可能需要一个UserController

我不确定我是否应该为每一个“控制器”都提供一个“视图”,或者我是否需要为每一种类型的用户提供一个“控制器”。我在互联网上发现的例子非常简单,因为它们只包含一个动作


请提供任何建议?

您的模型包括以下操作(无登录系统):

教师(CRUD),设计考试问题,并为答案打分

学生(CRUD),参加测验并获得测验分数

测验(CRUD)

因此,您可以通过三个
控制器来实现此模型:

TeacherController
StudentController
QuizController

对于
CRUD
操作,您可以使用
视图
,但是对于其他操作,您应该添加新的
视图

UML的全部要点是抽象地设计系统。控制器和视图之类的内容是实现细节,它们可能会因最终在哪个系统中构建而有所不同。您应该建模的只是业务对象及其之间的关系,而不是如何持久化它们或如何管理这些关系


视图或控制器之类的东西不是一个通用的概念。并不是每个框架都有这些东西的概念,因此,包含这些东西的模型从定义上来说不是“通用的”。FWIW,我也会在DAO、DTO、视图模型等建模方面添加阴影。这些也是实现细节,高度依赖于框架、数据存储等。

好吧,我可以用UML来实现这两个方面。不过,我们应该从抽象部分开始,然后再对其进行细化。你可以做任何你想做的事情,但在某一点上,你不再做UML了。当你进入实现细节时,你就在UML之外了。这就是名称中“通用”部分的全部要点。如果最终决定在一个MVVM结构化框架中实现这一点呢。那么,您如何传达“控制器”的理念。由于控制器的概念不是一个通用的概念,因此它不是UML设计的一部分。您可以将抽象模型转换为更具体的模型(使用MDA和CIM、PIM、PSM)。谢谢您,Chris,我一直在关注反映我的MVC框架并给出详细信息,我忘记了UML图的基本内容。