作为一名Android研发,最近再研究一些服务端的开发,遇到一个问题“Mvc和三层架构之间的关系是啥”。参考了一些资料,做一些记录。
现在服务端JavaWeb开发比较流行的是使用脚手架SpringBoot框架来进行开发,SpringBoot能很方便的实现SSM框架的服务端架构。下面拿SSM框架和三层架构进行比较分析。
一、三层架构
三层架构是指:视图层View、服务层Service、持久层Dao,分别完成不同的功能。
View层:用于接收用户提交请求的代码。
Service层:系统的业务逻辑。
Dao层:直接操作数据的代码在这里写。
所有的架构的目的,都是为了解耦,是系统具备更好的扩展性、便捷性,在三层架构的设计中,采用了面向抽象编程,在耦合关系层面,是一种抽象耦合关系,实际实现中是上层对下层的调用,是通过接口实现的。而下层对上层是真正的服务提供者,是下层接口的实现类。【耦合关系】
三层架构的结构图如下:

二、MVC
MVC:Model模型、View视图、Controller控制器
View:视图,为用户提供使用界面,与用户直接进行交互。
Model:模型,承载数据,并对用户提交的请求进行计算的模块。其分为两类,一类是数据承载bean,一类是业务处理bean。所谓数据承载的bean,就是我们通常通过面向对象设计抽象出来的实体bean,比如User、Car、Order等。而业务处理的bean则是指Service或Dao对象,专门用于用户提交的请求。
Controller:控制器,用于将用户的请求转发给相应的model进行处理,并处理Model的计算结果向用户提供相应的响应。
我们看一个Mvc架构的应用程序的工作流程如下:

本文探讨了MVC和三层架构的关系,指出MVC中的View和Controller对应三层架构的View层,而Model涵盖了Service层和Dao层。同时,文章通过分析SSM框架在三层架构中的位置,说明SpringMVC作为View层实现,MyBatis作为Dao层实现,Spring负责对象管理。此外,文章还提及Android开发中的MVC模式与服务端架构的相似之处,强调架构的核心目的是优化代码组织,提高效率和可扩展性。

689

被折叠的 条评论
为什么被折叠?



