大家好,这里是睿智的仓鼠。

MVC和三层架构都是分了三层,但意义和使用上有很大不同,不是一个东西。但是,它们的设计思想是相通的。

三层架构:

  • 把整个web应用程序从架构层面,分为三层
  • 为了解决整个应用程序中各个业务操作过程中不同阶段的代码封装的问题,为了使程序员更加专注的处理某阶段的业务逻辑。
    比如将数据库操作代码封装到一层中,提供一些方法根据参数直接返回用户需要的相应数据,这样在处理具体的业务逻辑的时候,就不用关心数据的存储问题了。

MVC:

  • 在应用程序(B/S结构)的视图层划分出来的不同功能的几个模块
  • MVC主要是为了解决应用程序用户界面的样式替换问题,把展示数据的 HTML 页面尽可能的和业务代码分离
  • MVC把纯净的界面展示逻辑(用户界面)独立到一些文件中(Views),把一些和用户交互的程序逻辑(Controller)单独放在一些文件中,在 Views 和 Controller 中传递数据使用一些专门封装数据的实体对象,这些对象,统称为Models。


总结:

可以明确,三层架构可以应用于任何语言、任何技术的应用程序;而MVC只是为了解决B/S应用程序视图层各部分的耦合关系。

简单来说,三层是基于业务逻辑来分的,而mvc是基于页面来分的。

但是,三层架构中的展示、业务、数据分离的思想,和MVC是一致的,即分层,解耦

可以这么理解:三层架构是一个接口,而MVC开发模式是三层架构的一个实现类。三层架构是一种笼统的架构思想,没有限制具体的设计;而mvc比较具体地体现了它的设计方法。