View on GitHub

Yinjie - GitHub.io

Welcome to the Yinjie's notes

MVC 架构简介

MVC 是一个软件框架模式。自从 1982 被提出至今,MVC 一直存在于软件行业的各个领域, 为整个软件的基础架构设计、层级设计、模块划分、代码组织逻辑等等行为提供有力的理论支持

知识背景

上世纪 80 年代初,全球图形界面软件快速发展,在软件规模不断变大的情况下,需要一种明确的软件框架模式对大中型软件进行合理规划。 Xerox PARC 提出了 模型-视图-控制器(MVC) 模式,进行框架层级的划分和代码上的分离。

MVC frame

MVC 提出后被各个图形软件广泛采用。因其具有清晰的逻辑层次和优秀的工程管理性质,被企业软件巨头之一的 Oracle 用在了 J2EE 平台软件的设计模式上。 随着 J2EE 的兴盛和软件面向对象设计的普通采用,MVC 的思想在软件各个领域都大放异彩。

框架思想哲理

写书是人类表达和展示自己的思想的重要方式

在老老年间,古人们写书或复制书就只能用手写,直接将字手写在纸上。数据的来源和展现都通过纸面这唯一中间过程。行为不可完全复制。

MVC frame

后来,活字印刷术的出现将上述过程进行统一标准化。将整个过程划分为三部分:

MVC frame

  • 统一的、持久化的数据源:活字 (Model);
  • 标准化的业务逻辑过程:排版 (Controller);
  • 纯粹的渲染展示:印刷 (View);

如此一来,整个印刷过程根据侧重点的不同分为三部分。每一部分在业务上能够做到相对独立,复用程度提高,后期的维护也简单不少。

MVC 的思想其实在我们生活的各个方面都有展现。将普通作业进行工程化改造,有利于作业过程管理,思维上更加清晰明确。提高工作效率和后期维护度。

从数据到视图的流程大致如下:

MVC frame