由于考试系统要用到MVC模式来设计,所以这次通过1些视频和网上的博客对其做了1些了解与学习,下面是1些学习的收获和感受。
Ps:原来写文章是历来也不写提纲的,现在通过不断的设计训练和代码注释的影响,没提纲就写不下去了……
言归正传,MVC作为1种软件设计模式,它用1种业务逻辑、数据和界面显示相互分离的方法组织代码。将业务逻辑单独封装,使得在界面及与用户交互的情势改变时不影响到逻辑。
1、 模式简介
MVC是1种创建Web利用程序的模式,其中:
Model(模型)是指要处理的业务代码和数据操作代码;
View (视图)显示数据,指的是界面及与用户进行交互的部份,视图通常根据Model创建;
Controller(控制器)处理输入,可以看作Model和View的桥梁。它从视图中读取数据,控制用户输入,并向 模型发送数据。
2、 模式图(来自baidu.baike)
说明:View通过人机交互将用户输入的指令和数据传递给Controller,Controller将其送至Model进行业务判断和数据存取等处理,然后Controller再根据业务逻辑选择不同的视图进行响应,最后将结果反馈给用户。
3、 与webFrom比较
对MVC与WebForm体会还不深入,孰优孰劣也不敢妄加评论,具体如何还是大家在实践中去体会吧。
先看看上边两张图,以后还会对MVC作进1步的分析。
4、 与经典3层的比较
3层架构分为UI界面层、BLL业务逻辑层、DAL数据访问层,它一样做到了界面、业务逻辑和数据的分离。
从解耦的角度看,MVC和3层架构都实现了很好的效果。都有助于管理复杂的利用程序和分组开发,由于我们可以在1个时间内专门关注1个方面。例如,可以在不依赖业务逻辑的情况下专注于界面/视图设计。同时也让利用程序的测试更加容易。
区分:1、3层里的UI相当于MVC里的V+C;BLL层+DAL层相当于MVC里的M。
2、侧重点不1样,3层是1种笼统的架构思想,没有限制具体的设计;而mvc就比较具体的说明它的设计方法。
3层是从全部利用程序架构的角度来分的,是为了解决全部利用程序中各个业务操作进程中不同阶段的代 码封装的问题,为了使程序员更加专注的处理某阶段的业务逻辑。
MVC是在利用程序(BS结构)的视图层划分出来的不同功能的几个模块。主要是为了解决利用程序用户界面的样式替换问题,把展现数据的HTML 页面尽量的和业务代码分离。
总结:对大中型项目MVC在开发效力上更快,但对1些小项目WebForm从经济和时间上更加适合。架构方面,MVC和3层也其实不是排挤的,相反,它们具有很紧密的联系。总之,MVC有着广阔的发展前景,在J2EE上的火热程度也见证了它的时期适应性。
初识MVC,还望大家多多指点。
上一篇 写个简单的飞机游戏玩玩