一、背景介绍
我一直以为我理解的MVC就是springMVC这些呢;前段时间和高人针对于MVC交流了一下,具体一点应该是请教了一下;结果完全超乎我的理解,没想到springmvc、mvp、后端mvc、mvvm都只是它的一个运用。
二、思路&方案
规范要求(所有资料和结果都要有大量依据):
- 1.发展史
- 2.百度百科的介绍(基础知识的概念宏观总结)
- 3.官方文档(具体的细节和应用)
- 4.优缺点
- 5.使用场景
- 6.同类对比
- 7.图和代码的对应关系
三、过程
- 1.发展史:
https://www.cnblogs.com/jmqm/p/8688986.html
http://www.mybatis.cn/archives/634.html
- 2.百度百科:
https://baike.baidu.com/item/MVC%E6%A1%86%E6%9E%B6/9241230?fromtitle=mvc&fromid=85990&fr=aladdin#6_2
- 3.官网:asp.net 的mvc:https://docs.microsoft.com/zh-cn/aspnet/core/mvc/overview?WT.mc_id=dotnet-35129-website&view=aspnetcore-6.0
- 4.优势、劣势
优点
多视图共享一个模型,大大提高了代码的可重用性
MVC 三个模块相互独立,松耦合架构
控制器提高了应用程序的灵活性和可配置性
有利于软件工程化管理
总之,我们通过 MVC 设计模式最终可以打造出一个松耦合+高可重用性+高可适用性的完美架构。
缺点
原理复杂
增加了系统结构和实现的复杂性
视图对模型数据的低效率访问?
- 5.使用场景
1.纯前端:mvvm
2.前后端:spring mvc
3.纯后端:mvc(v为数据存储容器)
- 6.同类对比
- 7.图和代码的对应关系(这里就先仅展示两个最终宏观图,具体的代码实现会在后续项目的重构的总结中展示)
四、总结
- 1.随着技术的演变,MVC的思想在不同阶段的呈现形式是不一样的,比如CS和BS的时代就有所不同
- 2.针对于现在前后端分离的架构,纯后端mvc的理解,C就是对应的controller层、M就是装载数据的实体、V就是存储数据的容器(要返回给前端的html代码或者承载数据的容器)
- 3.前端的MVVM,其中的M是存放样式布局的容器、V是渲染的html代码、VM是控制m和v绑定的东西
- 4.按照这样的思路去落地实现,前端的那些组件复用、扩充、维护就显得轻轻松松了
五、升华
对于一个知识不同程度的理解以及不同的抽象层级决定了后续运用过程中落地的程度,没有高人的指导很多东西我们往往会看成透明的
期待自己的项目落地总结。