【问题标题】:Use of controller in MVCMVC中控制器的使用
【发布时间】:2015-10-08 21:07:55
【问题描述】:

我正在阅读有关 MVC 架构的信息。我的理解是,Modal 是保存逻辑部分,视图保存 HTML 部分,控制器在视图和模态之间进行通信。但是控制器的使用困扰着我。为什么它实际上需要在 MVC 中。为什么我们不能直接从视图中与 Modal 通信。

【问题讨论】:

  • 控制器是与模型/视图交互的方式,例如控制器在 mvc 中处理鼠标、触摸或键盘输入
  • 把控制器想象成老板......告诉仓库(模型)要拉什么放在陈列室地板上(视图)。然后处理销售(视图中的用户交互)并更新分类帐(模型)。必须有人负责并经营商店!

标签: angularjs model-view-controller


【解决方案1】:

这与松散耦合的概念有关。 MVC 不是唯一的面向对象设计方法,但它很受欢迎,因为它允许更多的对象重用。

假设一个简单的例子 - 一个显示学生学习成绩信息的网站,包括一些分析。

  • 视图是向用户显示的前端 UI。可以是 JSP、CSHTML 或其他格式。
  • 模型是构成学生的数据结构。例如,您可以使用二叉搜索树来存储学生,或者将其转换为优先队列,以便班级/学校中成绩最高的学生始终位于根节点。在最基本的情况下,模型代表您的数据,并且是在您的数据库(或平面文件)和您的应用程序之间提供接口的层。
  • 现在,我们可以将学生视为班级学生。这个类将包含构成我们对学生的表示的行为和属性。
  • 控制器 将是 StudentController 类,并将协商 Student 类和视图之间的交互。它是作为模型和视图之间的接口的消息传递或通信层。

如果我们考虑分层架构,它会是这样的

.|.. 查看(顶层)
.|.. 控制器(中间层)
.|.. 模型(接口黑白数据和应用程序)
▼ 数据库或平面文件(存储数据的地方)

一些帮助您入门的资源,包括类似的问题:
- What is "loose coupling?" Please provide examples
- What is MVC (Model View Controller)?
- https://docs.angularjs.org/guide/controller

【讨论】:

    猜你喜欢
    • 2018-06-18
    • 2012-12-16
    • 1970-01-01
    • 1970-01-01
    • 2017-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-11
    相关资源
    最近更新 更多