MVC和三层架构的区别

三层架构

软件的设计架构有C/S,或者B/S等,三层架构不仅仅局限于B/S架构,首先分层是为了简便开发,使程序员可以专注于某一层的开发,降低了程序之间的耦合,便于后期的维护,当然为了实现复杂的业务需求,可以添加更多的层.JavaWeb通常用的三层架构是持久层,业务逻辑层,表现层.

  • 持久层:或者叫dao(Data Access Object)或者叫Mapper层,主要是与数据库交互的,目前主流的有:springJpa,Hibernate,mybatis(ibatis)等
  • 业务逻辑层:调用dao层的方法来处理业务逻辑,主流的有spring,springboot(对spring的集成)等
  • 表现层:表现层是根据用户的需求(输入或者点击)通过调用业务逻辑层来满足用户想要的到的结果.目前主要有springMVC,struts2等

MVC

mvc是针对于B/S架构的三层架构设计的一种表现层的架构.具体如下图所示:
MVC和三层架构的区别_第1张图片

  • 其中view就是用户所看到的界面
  • controller,是对用户的请求进行控制,看需要调用业务逻辑层的哪些方法或者该怎样返回用户需要的数据以及如何展示.
  • 而model可以理解为在view和controller之间进行数据交互的时候的一个个实体类对象(JavaBean)

总结

MVC架构是三层架构中的表现层的具体架构,用户通过视图层(view)发出请求到控制器(controller),然后控制器调用业务逻辑层(业务逻辑层调用dao层的方法,dao层的方法调用数据库的数据)的方法,决定回显哪些数据给用户.model是view和controller进行交互时的数据对象封装,

你可能感兴趣的:(javaWeb)