MVC笔记

一、示意图版(个人理解)

我最开始了解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架构示意图

MVC_0

 View:代表系统中用于展示/交互的部分
 Controller:代表系统的业务处理/模型
 Model:代表系统中的数据模型
 DB:代表数据库
 request:请求
 response:响应

2、MVC设计模式示意图

MVC_1

3、MVC框架示意图

MVC_2

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
待补

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在刚刚步入“多层结构”Web应用程序开发的时候,我阅读过几篇关于“asp.net三层结构开发”的文章。但其多半都是对PetShop3.0和Duwamish7的局部剖析或者是学习笔记。对“三层结构”通体分析的学术文章几乎没有。 2005年2月11日,Bincess BBS彬月论坛开始试运行。不久之后,我写了一篇题目为《浅谈“三层结构”原理与用意》的文章。旧版文章以彬月论坛程序中的部分代码举例,通过全局视角阐述了什么是“三层结构”的开发模式?为什么要这样做?怎样做?……而在这篇文章的新作中,配合这篇文章我写了7个程序实例(TraceLWord1~TraceLWord7留言板)以帮助读者理解“三层结构”应用程序。这些程序示例可以在随带的CodePackage目录中找到——   对于那些有丰富经验的Web应用程序开发人员,他们认为文章写的通俗易懂,很值得一读。可是对于asp.net初学者,特别是没有任何开发经验的人,文章阅读起来就感到非常困难,不知文章所云。甚至有些读者对“三层结构”的认识更模糊了……   关于“多层结构”开发模式,存在这样一种争议:一部分学者认为“多层结构”与“面向对象的程序设计思想”有着非常紧密的联系。而另外一部分学者却认为二者之间并无直接联系。写作这篇文章并不是要终结这种争议,其行文目的是希望读者能够明白:在使用asp.net进行Web应用程序开发时,实现“多层结构”开发模式的方法、原理及用意。要顺利的阅读这篇文章,希望读者能对“面向对象的程序设计思想”有一定深度的认识,最好能懂一些“设计模式”的知识。如果你并不了解前面这些,那么这篇文章可能并不适合你现在阅读。不过,无论这篇文章面对的读者是谁,我都会尽量将文章写好。我希望这篇文章能成为学习“三层结构”设计思想的经典文章!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值