有志者,事竟成!如果你在学习Golang,那么本文《MVC模式是否实现了Web框架的常见任务?》,就很适合你!文章讲解的知识点主要包括,若是你对本文感兴趣,或者是想搞懂其中某个知识点,就请你继续往下看吧~
问题内容web应用框架的常见任务(例如:django或laravel或.net或beego):
request / response abstraction
session state
user authentication & authorisation
page templating
url mapping
db access
security
caching
mvc设计模式实现了上述常见任务,如下所示:
url 映射由 mvc 的controller组件处理。控制器将请求路由到处理程序。例如:
http.servemux
是 golang 包中的控制器请求/响应抽象由控制器通过注册由web开发人员编写的处理程序来执行,如下所示:
sm := http.NewServeMux() // in GoLang sm.Handle("/", productHandler)
会话状态由网络开发人员编写的处理程序代码处理
页面模板由mvc的模板引擎(视图组件)处理
用户身份验证和授权由网络开发人员编写的处理程序代码处理
数据库访问由 mvc 的模型组件处理。
安全和缓存由网络开发人员编写的处理程序代码处理
这是对 mvc 设计模式实现 web 应用程序框架常见任务的正确理解吗?
解决方案
MVC 模式有多种定义。它随着时间的推移而不断发展,并且在不同的框架和环境中以不同的方式使用。 当它被发明时,还没有 HTTP 协议,并且不存在请求/响应部分。还有一些其他方式来处理用户请求。随着时间的推移,新的模板引擎被发明,HTTP 成为网络上的主导协议。
MVC 被认为是一种纯粹的表示模式,因为它主要编排视图和模型(无论模型代表什么)。此外,发明 MVC 的主要原因之一是关注点分离。保持其简洁、简短并让其他层处理逻辑非常重要。
Web应用程序框架的共同任务是充当IoC容器(控制反转)并让其组件负责特定的职责。所以如果是一个Web框架的话,很可能会有session、cookie、MVC……组件。
- 控制器方法只是 HTTP 接口的实现。 URL 映射可以被视为控制器方法的参数。
- 请求/响应由 Web 组件(Java 中的 servlet)处理
- 会话状态由会话组件处理,并且可以由开发人员配置,例如会话过期时间或会话 cookie 类型甚至会话类型(数据库,内存中)
- 正确
- 通常框架中有经过验证的auth组件,但可以手动编写(不推荐)
- 数据库访问由持久层(如 Java 中的 JDBC)处理。 MVC 中的模型负责应在屏幕上呈现或由用户提交的数据。
- 与 5 相同
以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持编程网!更多关于Golang的相关知识,也可关注编程网公众号。