MVC模式实现了web框架的常见任务吗



web应用程序框架的常见任务(例如:Django或Laravel或.NET或beego(:

request / response abstraction 
session state 
user authentication & authorisation 
page templating 
URL mapping 
DB access 
security 
caching

MVC设计模式实现了上述常见任务,如下所示:

  1. URL映射由MVC的Controller组件处理。控制器将请求路由到处理程序。例如:http.ServeMux是来自GOLang包的控制器

  2. 请求/响应抽象控制器通过注册处理程序执行,由web开发人员编写,如下所示:

    sm := http.NewServeMux()     // in GoLang
    sm.Handle("/", productHandler)
    
  3. 会话状态处理程序处理web开发人员编写的代码

  4. 页面模板化由MVC 的模板引擎(视图组件(处理

  5. 用户身份验证&授权处理程序处理web开发人员编写的代码

  6. DB访问由MVC的模型组件处理。

  7. 安全缓存由web开发人员编写的处理程序代码处理


这是对MVC设计模式的正确理解吗?

MVC模式有很多定义。它是随着时间的推移而演变的,在不同的框架和背景下使用的方式也不同。当它被发明时,没有HTTP协议,请求/响应部分也不存在。还有其他一些处理用户请求的方式。随着时间的推移,新的模板引擎被发明,HTTP成为网络上占主导地位的协议。

MVC被认为是一种纯粹的表示模式,因为它主要协调视图和模型(无论模型代表什么(。另外,MVC发明的主要原因之一是关注点的分离。重要的是保持它干净、简短,并让其他层处理逻辑。

web应用程序框架的常见任务是充当IoC容器(控制反转(,并让其组件担心特定的责任。因此,如果它是一个web框架,它可能会有会话、cookie、MVC。。。组件。

  1. 控制器方法只是HTTP接口的一个实现。URL映射可以被视为控制器方法的参数
  2. 请求/响应由web组件(Java中的servlet(处理
  3. 会话状态由会话组件处理,可以由开发人员配置,例如会话过期时间或会话cookie类型,甚至会话类型(数据库,内存中(
  4. 正确
  5. 通常,框架中有一个经过验证的auth组件,但它可以手动编写(不推荐(
  6. DB访问是由一个持久层来处理的,比如Java中的JDBC。MVC中的模型负责应该在屏幕上显示或由用户提交的数据
  7. 与5相同

最新更新