MVC设计模式

在界面框架中,使用MVC的设计模式是最合适方式。为什么这样说呢?由于M是model的缩写,就是表示模型意思。

模型就是算法,业务逻辑。商业表示。

这个是常常会变的,比方像银行开发一个超市积分系统,对不同来店刷卡的人员给不同的积分,这个是随着不同的时间会变化,像中秋节时购买月饼就能够多添加积分,这个变化就表如今模型上。

V就是view的缩写,也就是视图。对用户来说就是界面。

界面在一定时间内是稳定的。但随着用户需求变化就会产生很多其它的界面。比方用户一開始能够看到数据列表显示就已经非常满足了,当他们用过一段时间之后,就会想是否能提供一个图形来描写叙述数据呢?这就是提出对界面的要求,也就是多视图。

也就是说,一份数据之后相应多个视图,多个视图从不同的角度去了解数据。有了模型。还有了视图。就已经能够实现数据经过业务逻辑处理之后在视图上显示出来。基本上就是完毕了整个软件的需求。可是用户对软件的要求。不但能看到,还须要互动。比方看到曲线时。想放大一点看到细节,那么就须要控制了。控制部分就抽象为Controller。缩写就为C。到此,MVC三者的职责就非常清楚。M描写叙述数据逻辑处理。V表示处理之后的数据显示。C接收用户控制。而且把不同的控制传递给M或V。

它们之中,最特别的就是M与V是没有直接的联系,业务逻辑处理不会在意界面是怎么样的呈现的。它仅仅是实现最优化算法。或者最复杂的业务逻辑;反之。界面也不须要关心数据是怎么样处理的,仅仅管依据用户须要而显示。同一时候多个视图都来源于同一份数据,因此也保证多个视图的显示是一致的。

有了上面的概念之后,就要实践了,仅仅有实践才干够对理论进行理解,而且理解得更深入。特别在软件开发工作上,没有编写代码。仅仅看理论,就像站在岸上学游泳,永远学不会游泳的。由于人在水里与岸感觉区别非常大,水的密度比空的密度不是一个数量级大,而区别特别大。

因此,凭空想像是不会得到实际的感受。在编程方面。也是一样。假设不亲手写代码,是非常难体会到想像与实现之间的差距。往往有人说,像这个功能不就几行代码。花两三天就能够做出产品了吗。事实上他所说的产品仅仅是一个针对眼下情况实现的演示产品。而不是实际可用、可维护、可复用、可測试的产品。一个软件产品在他们眼里仅仅是着重点是可用性,而不考虑可维护、可复用、可測试。

可维护是一个重要的指标。假设不能维护,一个软件产品非常难成功,由于一个软件产品使用周期是非常长的。10年是算短的,在这10年内。不同用户加进来,以及竞争对手的出现,对软件产品进行升级就是成为常有的事情。

怎么样让软件产品更新更快,还能对旧用户进行兼容,还不让越改就越多BUG出现,这是一个有难度的事情。

假设代码不考虑可维护性。就更加成为不可能完毕的任务。可复用性就是节省软件的开发成本,这个比較关键,由于软件的开发效率就决定产品的定价。也就是决定了招标时,你的产品是否被中标的关键因素,一般在价格方面都起到50%以上作用。可測试就是软件的质量了,以及软件是否可维护的一项指标。由于一个软件产品开发持续达到10年,每个月更新了。还要兼容旧的产品、旧的用户,那么怎么样保证兼容旧的产品呢?仅仅能针对旧的产品进行回归測试。这个回归測试。假设是人工的,显然不全面。也不着实际。因此,自己主动化的測试是必定的选择,也仅仅有自己主动化測试才干够更全面地測试,确保产品方方面面都已经符合原来的规则。而且自己主动化測试比人工来说,也更有效率,足以减少成本。

时间: 2024-08-02 06:01:35

MVC设计模式的相关文章

python mvc设计模式(一)

一.代码组织(目录结构) 二.mvc概述 MVC设计模式即MVC框架. MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑和数据显式分离的方法组织代码,将业务逻辑被聚集到一个部件里面,在界面和用户围绕数据的交互能被改进和个性化定制的同时而不需要重新编写业务逻辑.MVC被独特的发展起来用于映射传统的输入.处理和输出功能在一个逻辑的图形化用户界面的结构中. 三.代码 1.数据 #cod

Java Web开发中MVC设计模式简介

一.有关Java Web与MVC设计模式 学习过基本Java Web开发的人都已经了解了如何编写基本的Servlet,如何编写jsp及如何更新浏览器中显示的内容.但是我们之前自己编写的应用一般存在无条理性,对于一个小型的网站这样的编写没有任何问题,但是一但我们需要编写大型的web工程的话,我们现有的编写模式会造成web应用的可扩展性较差,而且一但出现问题不能准确的定位出问题出在哪里. Java是一门应用设计模式比较广泛的语言.目前主流提出的23种设计模式均可在Java语言编写的程序中所应用.目前

转---MVC设计模式详解

MVC(Model View Controller)模型(model)-视图(view)-控制器(controller):MVC本来是存在于Desktop程序中的,M是指数据模型,V是指用户界面,C则是控制器.使用MVC是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式.比如一批统计数据你可以分别用柱状图.饼图来表示.C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新,从例子可以看出MVC就是Observer设计模式的一个特例.MVC如何工作MVC是一个设计模式,它强制性

【原创翻译】认识MVC设计模式:web应用开放的基础(基础篇)

原文地址:http://www.larryullman.com/2009/10/08/understanding-mvc/ 翻译:shadowmydx 转帖请注明 最近,我计划写一个系列关于自己在过去几个月使用的Yii框架(shadowmydx:基于PHP5的一个web开发 框架,详情自行google)的文章.但在一切开始以前,我认为首先还是需要先介绍一下MVC设计模式: 模型-视图-控制器.MVC模式(30年前就有鸟)已经成为了框架以及许多各式各样的应用的首选.MVC模 式主要着眼于分离应用的

MVC设计模式在网站中的应用

MVC设计模式在网站中的应用 以淘宝的购物车为例 一.结合六个基本质量属性 可修改性 采用MVC设计模式的时候,可以将视图.模型.控制器分析,将用户动作.数据表示.应用数据分离开来,如果用户需要以不同的视图来展示,只需要修改视图中的代码即可,对于模型和控制器的代码,则不需要做改动,即可满足要求,使得对代码的修改非常方便. 易用性 用户可以直接在商品展示界面中将商品添加进购物车,直接点开购物车就可以看到已经添加的商品:删除某一件商品时,也可以直接在商品的后面点击删除,确认之后,即可删除. 安全性

如何理解MVC设计模式

MVC是一种架构模式 MVC(Model View Controller) M-模型(model) V-视图(view) C-控制器(controller): MVC本来是存在于Desktop程序中的,M是指数据模型,V是指用户界面,C则是控制器.使用MVC是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式.比如一批统计数据你可以分别用柱状图.饼图来表示.C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新,从例子可以看出MVC就是Observer设计模式的一个特例. MV

ASP.NET下MVC设计模式的实现

[转载]MVC架构在Asp.net中的应用和实现 转载自:http://www.cnblogs.com/baiye7223725/archive/2007/06/07/775390.aspx 摘要:本文主要论述了MVC架构的原理.优缺点以及MVC所能为Web应用带来的好处.并以“成都市信息化资产管理系统”框架设计为例,详细介绍其在Asp.net环境下的具体实现.旨在帮助Web设计开发者更好的了解和掌握MVC,合理利用MVC构建优秀的Web应用. 关键字:MVC.视图.控制器.模型.Asp.net

MVC设计模式与三层架构

三层架构分别是:表示层(Web层).业务逻辑层(BLL层)和数据访问层(DAL层). (1)表示层负责: a.从用户端收集信息 b.将用户信息发送到业务服务层做处理 c.从业务服务层接收处理结果 d.将结果显示给用户 (2)业务逻辑层负责: a.从表示层接收输入 b.与数据层交互执行已设计的业务 c.操作(业务逻辑,系统服务等) d.将处理结果发送到表示层 (3)数据访问层负责: a.数据存储 b.数据获取 c.数据维护 d.数据完整性 在三层结构设计中,表示层可由视图和控制器来实现,而业务逻辑

程序开发:MVC设计模式与应用

MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑.数据.界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑.MVC被独特的发展起来用于映射传统的输入.处理和输出功能在一个逻辑的图形化用户界面的结构中. 下面讲解简单的登录操作: 程序流程图: 在本程序中用户输入的登陆信息提交给Servlet进行接收,Servle

理解MVC设计模式

浏览器向服务端发送一个http请求,服务端要有对应的程序处理它,最原始的处理请求的程序就是Servlet,在Servlet中完成数据的处理,然后在将对应的html代码以字符串的形式用流对象返回给客户端浏览器.如下图所示: 这是一个最原始的web应用的大致工作流程. 这样虽然也能够完成Boss交给的任务,但是,做程序员本来就很苦逼,如果再让程序员再在Java代码中一行一行的拼接复杂的html标记,那还是一脚把他踹下楼吧,免得在这个人世间痛苦. 上面的模式必须改变,因为这种开发模式与程序员是你死我活