架构是系统层面的,可以是多层架构,也可以是事件驱动架构,也可以是微服务架构。

模式是GUI应用的一种职责分离设计。

三层架构(包含多层架构)和 MVC模式(包含MVP, MVVM) 没什么关系,它们不在同一个维度上。

三层架构是从整个应用程序架构的角度来分为DAL(数据访问层)、BLL(业务逻辑层)、WEB层(界面层)各司其职,意在职责分离;三层是为了解决整个应用程序中各个业务操作过程中不同阶段的代码封装的问题,为了使程序员更加专注的处理某阶段的业务逻辑;并且三层只是多层架构中的一种情况,完全可以根据需要分为多层。

MVC主要是为了解决应用程序用户界面的样式替换问题,把展示数据的UI尽可能的和业务代码分离。MVC把纯净的UI展示逻辑独立到一些文件中(Views),把一些和用户交互的程序逻辑单独放在一些文件中(Controller),在 Views 和 Controller 中传递数据使用一些专门封装数据的实体对象,这些对象,统称为Models。而在其后出现的 MVP 以及 MVVM 与 MVC 的作用类似,这些模式之间的区别在于如何解决 M 与 V 之间的连接与更新。

总之,MVC 是一种模式,三层架构是一种架构。

其次,它们都有一个表现层,但是这两者的展现层并不是一样的。可以这样看待 MVC与三层架构中的表现层的关系,MVC中的 V 和 C都属于三层架构中的表现层,可以看下图的示意。

最新文章

  1. MySQL:procedure, function, cursor,handler
  2. JSONObject,JSONArray,Map,String之间转换
  3. Xbox Live会员身份:银会员和金会员
  4. git 学习笔记2--How to create/clone a repository
  5. WPF中实现
  6. 单片机特殊功能寄存器(SFR)
  7. webview 中 svg的坑
  8. sqlserver复杂排序(order by case when)
  9. BZOJ 1507 Editor(块状链表)
  10. 开源网络备份软件 bacula 的安装、配置和运行
  11. poi大数据将excel2007导入数据库
  12. CodeForces 447C DZY Loves Sequences DP
  13. [Jmeter]jmeter之初体验(windows下的jmeter)
  14. 模拟SPI协议时序
  15. 三、oracle 用户管理(user)
  16. highcharts的多级下钻以及图形形态转换
  17. 第 18 章 高可用设计之 MySQL 监控
  18. springMVC(7)---表单标签
  19. leetcode1033
  20. web@css样式进阶--图形字体、动画、显隐....

热门文章

  1. FineUI(专业版)v3.2.0 发布(ASP.NET UI控件库)!
  2. Android/Linux下CGroup框架分析及其使用
  3. WebApp 九宫格抽奖简易demo
  4. Nfs+Drdb+Heartbeat 数据存储高可用服务架构方案
  5. NC 销售订单
  6. 使用haproxy的ACL封禁IP
  7. 多线程异步导出excel
  8. React JS的基本用法[ES5,纯前端写法]
  9. 未在本地计算机上注册“Microsoft.Jet.OleDb.4.0”提供程序。解决办法
  10. python基础补漏-01