(*Source Article - What is Model-View-Controller (MVC) Framework? Model MVC with UML Robustness Analysis)
模型-视图-控制器 (MVC)是一种将用户界面逻辑与业务逻辑分离的基本设计模式。模型-视图-控制器 (MVC) 模式是将应用程序划分为三个不同组件的一种方式;模型、视图和控制器。
这个模型-视图-控制器可以使用刻板的 UML 表示法中的鲁棒性分析来最好地进行可视化描述,这是由 Ivar Jacobson 在他的获奖着作 Object-Oriented Software Engineering 中首次提出的(参见下面的参考资料),并由 Doug Rosenberg 等人进一步解释. 在他的用例驱动的 UML 对象建模一书中。
这是一个简单的、假设的 MVC 序列图。您在上图中看到的是,Web 用户启动查询并生成一个事件,该事件由控制器处理以从模型中获取所需信息、验证信息并将结果集传递回视图。
实体对象(模型)只不过是您的边界对象正在寻找的信息或数据。这些可能是数据库表、Excel 文件或“临时”会话或缓存数据或类似的东西。
边界对象(视图)是参与者(例如,用户)在您的软件系统中与之通信的对象。这些对象可以是系统中的任何窗口、屏幕、对话框和菜单或其他用户界面。您可以在分析用例时轻松识别它们。
控制对象(控制器)是业务对像或您的业务 Web 服务。这是您捕获用於过滤出要呈现给用户的数据的业务规则的地方,他要求什麽。所以控制器实际上是在控制业务逻辑和数据转换。
考虑边界对象和实体对像是名词,而控制器是动词。
以下是连接的四个基本规则。
请记住,边界对象和实体对像都是名词,而控制器是动词。名词不能与其他名词对话,但动词可以与名词或动词对话。
假设我们有以下文本格式的简单用例描述:
在学生详情页面,教师点击“添加课程”按钮,系统显示课程列表。教师选择课程名称并按下“注册”按钮。系统为学生注册课程。
现在您可以根据上面的用例创建一个简单的健壮性图:
您还可以使用文本标签将用例描述附加到稳健性图的右侧。
在执行此操作时,您可能必须重写用例文本,以消除歧义并显式引用边界对象和实体对象。大多数人不会在初稿中编写完美的用例文本。因此,我们可以使用稳健性分析来弥合用例文本和图表之间的差距。
基於稳健性分析,我们可以通过使用一组MVC格式的相关序列图来开发用例场景(正常或替代)。同样,MVC序列图有接口对象、控制器对象和实体对象:
它们通过边界对象与实体交互来协调来自边界的命令的执行。控制器对象通常对应於用例场景,并且通常由序列图表示。
您可以在 MVC 序列图中为生命线使用构造型,以直观地清楚您在 MVC 中使用的对像类型,就像上面的鲁棒性分析图一样。
假设有一个应用程序可以让您搜索人员。UI 必须有一个文本字段,用户可以在其中输入搜索字符串,并且它可能有一个按钮来开始搜索。最後,它必须有一个显示搜索结果的区域。在我们的例子中,它是用一个列表组件实现的。
“搜索人员”用例场景是:
上面的序列图显示了用户的按钮单击如何在应用程序中移动,直到结果最终显示在列表组件中。
参考
<<: 2022 最新 YouTube 影片下载方法:下载 1080P 超清 MP4 影片
前面完成了「Plans」区块,今天来完成「CTA」的区块。 数据收集 CTA的样式 Backgro...
Why? 数据分析和资料视觉化是近期耳熟能详的主题,但确少有关注偏乡的应用概念,在一个没网路(内网...
经过了两个多星期後,我们终於开始进入 presentation layer 的部分。Presenta...
昨天稍微提到了状态管理及 MobX 的基本介绍那今天就要来说明 MobX 中的核心概念。 MobX ...
分享一下这30天从无到有的学习下来的一点点心得 先说一下为什麽要学习Rust是因为最近比较红之外还有...