一、示意图版(个人理解)
我最开始了解MVC时挺混乱的
有的说MVC是一种设计模式
有的说MVC是一种框架模式
有的说MVC是一种框架
有的说MVC是一种架构
最后想明白了,从中能吸取实践中能用的经验就好,管什么是什么!
框架、设计模式这两个概念总容易被混淆,其实它们之间还是有区别的。
> 在软件生产中有三种级别的重用:
> 内部重用,即在同一应用中能公共使用的抽象块;
> 代码重用,即将通用模块组合成库或工具集,以便在多个应用和领域都能使用;
> 应用框架的重用,即为专用领域提供通用的或现成的基础结构,以获得最高级别的重用性。
#从重用角度看
> 框架通常是代码重用
> 设计模式是设计重用
> 架构则介于两者之间,部分代码重用,部分设计重用,有时分析也可重用。
#从抽象程度看
> 设计模式是对在某种环境中反复出现的问题以及解决该问题的方案的描述,它比框架更抽象;
> 框架可以用代码表示,也能直接执行或复用,而对模式而言只有实例才能用代码表示;
简而言之
设计模式是比框架更小的元素,一个框架中往往含有一个或多个设计模式,框架总是针对某一特定应用领域,但同一模式却可适用于各种应用。
可以说,框架是大智慧,用来对软件设计进行分工;设计模式是小技巧,对具体问题提出解决方案,以提高代码复用率,降低耦合度。
1)框架模式有哪些?
MVC、MTV、MVP、CBD、ORM等等;
2)框架有哪些?
C++语言的QT、MFC、gtk,Java语言的SSH 、SSI,php语言的 smarty(MVC模式),python语言的django(MTV模式)等等
3)设计模式有哪些?
工厂模式、适配器模式、策略模式等等
1、MVC架构示意图
View:代表系统中用于展示/交互的部分
Controller:代表系统的业务处理/模型
Model:代表系统中的数据模型
DB:代表数据库
request:请求
response:响应
2、MVC设计模式示意图
3、MVC框架示意图
Java最典型的MVC就是JSP + servlet + javabean的模式。
二、详解
[MVC框架详解(资源整理)]https://blog.csdn.net/qq_21225505/article/details/81666986
[一个典型的MVC模式]https://www.cnblogs.com/cyy-13/p/5718586.html
待补