在实现MVC时,应用程序的哪一部分应该调用DAO中的方法?

 冬眠2502917261 发布于 2023-02-10 13:06

我今天参加了考试,其中一个问题如下:

在实现MVC时,从哪个Web应用程序(控制器或视图)的园区我们应该调用在DAO实现中定义的方法?你应该解释一下.


我知道控制器负责将即将发出的http请求重定向到适当的视图,并且视图(JSP文件)应该使用DAO函数来获取信息并显示它.

我的讲师说我错了,控制员会对此作出回应.

当我问为什么时,他说"我应该听讲座".那么,为什么DAO应该从控制器调用而不是从视图中调用?

1 个回答
  • 你应该在讲座中听过.

    对不起,开玩笑吧:)

    模型 - 视图 - 控制器是用于各种UI设计的重要设计模式.

    视图是关于显示数据并与用户交互 - 没有别的

    模型是关于建模和存储数据 - 没有别的

    控制器处理数据,将内容映射到模型中等等.

    您应该能够完全从MVC系统交换View,它将改变用户交互 - 但不会改变程序的行为.从那以后应该清楚为什么在视图中放置逻辑是一个坏主意.

    DAO是关于如何实现数据存储和持久层的.视图是关于如何显示数据的.

    它们是两个非常不同的工作,MVC的重点是分解并为他们提供自己独立的工作.您可以交换进出不同的持久层,并且视图不需要更改,您可以交换进出不同的视图,并且持久层不会更改.

    通过将表示直接耦合到持久性,您将失去这种脱钩.正确的方法是编写视图,只关心模型.编写只关心其数据的模型,然后使用控制器将它们粘合在一起并填充模型.

    2023-02-10 13:08 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有