美文网首页
2017.09.21

2017.09.21

作者: 芝麻香油 | 来源:发表于2017-09-21 22:28 被阅读0次

一直以为 MVC 和三层架构是同一个东西,直到今天才明确的知道:MVC 是 MVC,三层架构是三层架构, 它们之间毫无关系。

三层架构

三层架构是系统级别的,基于业务,如下图:

真正的三层架构.JPG

整个过程:展示层发送请求到 Controller,Controller 收到请求后交给相应的 Service 去查询对应的数据,并将结果返回给展示层,最后展示层将数据显示在页面上。

三层架构是为了解决整个应用程序中各个业务过程中不同阶段的代码封装问题,包括:展示层、业务逻辑层、持久层。其中, 低层不能调用上层;同层之间可以互相调用(持久层、Controller 除外)。

特点

  • 低耦合
  • 可维护
  • 有了利于软件工程化管理

缺点

  • 内部结构复杂,不容易理解,文件数量大。

MVC

MVC 用于创建在域对象和 UI 表示层对象之间的区分,基于展示层的设计模式。

MVC.png

M:Model(模型层),主要负责业务逻辑以及数据库的交换
V:View(视图),用于显示数据和提交数据
C:Controller(控制器),用于捕获请求并控制请求转发

各部分之间的通信都是双向的。View 与 Model 不发生联系,都通过 Presenter 传递。View 非常薄,不部署任何业务逻辑。

各个层的作用:

  • 控制器的作用是调用模型,并调用视图,将模型产生的数据传递给视图。并让相关视图去显示。
  • 模型的作用是获取数据并处理数据。
  • 视图的作用是将取得的数据进行组织、美化等,并最终向用户终端输出。

好处:分离了关注点。后台代码被移到单独的类文件,可以最大限度的重复利用代码。

缺点:

  • 不适合小型应用
  • 增加系统结构和实现的复杂性

联系与区别

  1. 联系
  • V 相当于展示层;C 相当于展示层和业务逻辑层之间的 Controller;M 相当于业务逻辑层和持久层。
联系.png
  • 都是为了解耦
  1. 区别
  • 三层架构试试软件架构,通过接口实现
  • MVC 是一个设计模式——解决方案
  • 三层模式试试体系结构模式,MVC 是设计模式

MVC 和 三层架构相同的设计理念就是:把视图设计与数据持久化进行分离,从而降低耦合性,易于扩展,提高团队开发效率。三层架构和 MVC 设计模式侧重点不一样,三层是一种笼统的架构思想,没有限制具体的设计;而 MVC 就比较具体的说明它的设计方法。

相关文章

  • 2017.09.21

    2017年09月21日15:31:01 现在正在听一首汪苏泷的 后会无期大概4年前彼时还在读书 和在肯德基做兼职...

  • 2017.09.21

    中午去西二旗吃午饭,公司到饭馆大概15分钟的路程,听着熟悉的音乐,忽然觉得一切似曾相识。曾经,也是一个人走在这条路...

  • 2017.09.21

  • 2017.09.21

    那些曾经疯狂的过往,留给现如今无尽的回忆! 身边总会有些曾经的亿万富翁,会用过往的经历去吹嘘自己曾经的烜赫一时。时...

  • 2017.09.21

    说好的调整心态,说好的调整心态,说好的调整心态,重要的事说三遍,这几天就是因为自己的心情,内分泌紊乱,莫名其妙发高...

  • 2017.09.21

    一直以为 MVC 和三层架构是同一个东西,直到今天才明确的知道:MVC 是 MVC,三层架构是三层架构, 它们之间...

  • 2017.09.21

    我不喜欢总是抱怨的我,可以改变一下吗?生活是你自己的,为什么总要因为别人让你的生活变得没有那么让人喜爱呢,排除杂念...

  • 2017.09.21——转机

    上午一个毕了业的师兄鼓动我们退出之前课题组的群:四楼SCI学术狗,其实我不想退的,一方面感觉刚毕业就退群不太好啊,...

  • 2017.09.21 炼狱

    不知道这个点的你是否依旧在梦乡就像不知道这个点的我是否还是一个正常人 我不知道这一夜我在干什么 没有入睡也没有思考...

  • 项目在iOS11遇到的问题归纳

    1.选中某个Tabar 图标颜色为白色(记录时间:2017.09.21)

网友评论

      本文标题:2017.09.21

      本文链接:https://www.haomeiwen.com/subject/zyjtextx.html