国内最全IT社区平台 联系我们 | 收藏本站
华晨云阿里云优惠2
您当前位置:首页 > php框架 > 框架设计 > 从设计角度分析MVC

从设计角度分析MVC

来源:程序员人生   发布时间:2015-01-16 08:43:35 阅读次数:3929次


    由于考试系统要用到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+CBLL+DAL层相当于MVC里的M

          2侧重点不1样,3层是1种笼统的架构思想,没有限制具体的设计;而mvc就比较具体的说明它的设计方法。

         3层是从全部利用程序架构的角度来分的,是为了解决全部利用程序中各个业务操作进程中不同阶段的代     码封装的问题,为了使程序员更加专注的处理某阶段的业务逻辑。

    MVC是在利用程序(BS结构)的视图层划分出来的不同功能的几个模块。主要是为了解决利用程序用户界面的样式替换问题,把展现数据的HTML 页面尽量的和业务代码分离。

 

    总结:对大中型项目MVC在开发效力上更快,但对1些小项目WebForm从经济和时间上更加适合。架构方面,MVC和3层也其实不是排挤的,相反,它们具有很紧密的联系。总之,MVC有着广阔的发展前景,在J2EE上的火热程度也见证了它的时期适应性。

    初识MVC,还望大家多多指点。

       

 

 

 

 

生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠
程序员人生
------分隔线----------------------------
分享到:
------分隔线----------------------------
关闭
程序员人生