MyException - 我的异常网
当前位置:我的异常网» Java Web开发 » MVC中的M到底是指什么?理解不透,求教!该如何解决

MVC中的M到底是指什么?理解不透,求教!该如何解决(2)

www.MyException.Cn  网友分享于:2013-01-12  浏览:135次

------解决方案--------------------
就是一个类,进行封装数据的!
------解决方案--------------------
model
------解决方案--------------------
唉,自己的理解最重要,好好看看java编程思想!
------解决方案--------------------
M:model ->企业数据和业务规则,能够使用组件来处理数据库(增删改查)且m与数据格式无关,如果企业数据改变或者是业务规则改变(具体怎么改变由企业决定)那么V也就要改变。
举个例:
M 就像球这个类一样,如果球变了那么它呈现出来的表现形式也就变了.
不知这么说能否理解.
------解决方案--------------------
现在的web架构一般都要用mvc模式,接触时间长了,自然就明白了。下面我解释一下你的问题,希望能说的清楚,让你明白。
简单的说,M层是你的数据模型,比如是java bean文件,类的属性就是一些字段,这些字段常常在页面(一般就是V层)上引用,页面上也可能有添加修改等方法,这些方法的逻辑处理过程也许会写在M层,也就是类中的方法(action之类的)。页面(V层)只是显示的功能,真正的数据和逻辑处理都是来自M层的。
假如业务变了,要添加一个功能(比如删除),那你首先要在M成完成删除的功能,定义成方法,然后修改页面的布局,添加上删除的按钮。除了功能的改变,当然了还有字段的调整,修改了M层就很可能引起你的V层改变。这就是你迷惑的“改变”。但是V层的页面怎么调整对我的M层没有多大关系,满足客户的视觉需求就行了。
希望对你理解M和V有一点帮助。
其实你找个简单的例子,看看想想,不要拘束于书上写的文字,很快就明白了
------解决方案--------------------
指javabean javabean又是普通java类
------解决方案--------------------
就是模型层吗 简单的说 比如说 你有个 
用户表(user) 
里面的字段 有userid username userpw

那么体现在java文件上 有个用户类 User.java

那最起码 这个类得这样写
Java code
class User{
 private String username=null;
 private String  userpw=null;
  private String userid=null;
    ...这里是一些set  get方法....

------解决方案--------------------
moden模型类,也就是实体
------解决方案--------------------
MVC:M是指数据模型,V是指用户界面,C则是控制器。使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。比如一批统计数据你可以分别用柱状图、饼图来表示。C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新。
参考链接:
http://blog.sina.com.cn/s/blog_4ea090b601008l0u.html
------解决方案--------------------
要我说:M就是模型,这个模型就是你去操作数据,或者说是与数据库交互,当然数据库只是个例子,也可能是跟某个文件交互,从而实现数据的增删改查操作
------解决方案--------------------
很简单的一个模型对象还有映射
------解决方案--------------------
楼上的各位已经说的很详细了。相信楼主也理解了!!
------解决方案--------------------
模型存数据的
------解决方案--------------------
model 就是一个 map 而已。

name/value pairs
------解决方案--------------------
M是模型没错,至于M变化,我的理解是数据/状态变了。
MVC的核心是一个监听者模式.C会监听M和V,当监听到M的数据发生变化时,就会通知V去更新数据,然后由V去改变表示。同时C也会监听V上发生的动作,这些动作由C处理,当影响到M变化时,M反馈给C,C再控制V更新表示。

举个例子:
比如写一个带界面的程序,shell上的东西就是V,C就是消息机制+listener里面的处理逻辑,而listener里面的处理逻辑处理的东西(当然这些东西包括shell,控制器肯定也会控制shell发生改变,这个属于V,剩下的东西一般就是数据/状态)就是M。系统消息触动listener,触发处理逻辑,M就会发生状态改变,V就会通知shell发生相应改变;当然shell上的按钮也会触发消息,引起M改变,最终也可能引发shell的改变。

其他的情况,大多是把shell换成页面,控制器的消息机制改成其他的通信机制而已。
要注意MVC要做到的是V随数据/状态的变化自动改变的,实时改变。V知道M改变了,才会去查询M更新,而不是说轮询(当然这句比较针对数据库了,有时改变的数据是通过C去传递的)。用其他方式也可实现这个目的,当解耦的需求出现之后,MVC就被发现了。

模式是被发现的,而不是创造的,要了解模式,首先要了解模式的目的,然后才能懂得模式的思想。追求概念反而往往会很迷惑~
------解决方案--------------------
MVC架构是"Model-View-Controller"的缩写,中文翻译为"模型-视图-控制器"。MVC应用程序总是由这三个部分组成。Event(事件)导致Controller改变Model或View,或者同时改变两者。只要Controller改变了Models的数据或者属性,所有依赖的View都会自动更新。类似的,只要Controller改变了View,View会从潜在的Model中获取数据来刷新自己。

------解决方案--------------------
探讨
系统消息触动listener,触发处理逻辑,M就会发生状态改变,V就会通知shell发生相应改变;

文章评论

Web开发人员为什么越来越懒了?
Web开发人员为什么越来越懒了?
Java程序员必看电影
Java程序员必看电影
“懒”出效率是程序员的美德
“懒”出效率是程序员的美德
程序员都该阅读的书
程序员都该阅读的书
十大编程算法助程序员走上高手之路
十大编程算法助程序员走上高手之路
科技史上最臭名昭著的13大罪犯
科技史上最臭名昭著的13大罪犯
10个帮程序员减压放松的网站
10个帮程序员减压放松的网站
如何成为一名黑客
如何成为一名黑客
聊聊HTTPS和SSL/TLS协议
聊聊HTTPS和SSL/TLS协议
老程序员的下场
老程序员的下场
团队中“技术大拿”并非越多越好
团队中“技术大拿”并非越多越好
那些争议最大的编程观点
那些争议最大的编程观点
我的丈夫是个程序员
我的丈夫是个程序员
看13位CEO、创始人和高管如何提高工作效率
看13位CEO、创始人和高管如何提高工作效率
5款最佳正则表达式编辑调试器
5款最佳正则表达式编辑调试器
 程序员的样子
程序员的样子
程序员应该关注的一些事儿
程序员应该关注的一些事儿
代码女神横空出世
代码女神横空出世
程序员眼里IE浏览器是什么样的
程序员眼里IE浏览器是什么样的
旅行,写作,编程
旅行,写作,编程
60个开发者不容错过的免费资源库
60个开发者不容错过的免费资源库
程序猿的崛起——Growth Hacker
程序猿的崛起——Growth Hacker
程序员的一天:一寸光阴一寸金
程序员的一天:一寸光阴一寸金
“肮脏的”IT工作排行榜
“肮脏的”IT工作排行榜
程序员和编码员之间的区别
程序员和编码员之间的区别
10个调试和排错的小建议
10个调试和排错的小建议
程序员最害怕的5件事 你中招了吗?
程序员最害怕的5件事 你中招了吗?
程序员的鄙视链
程序员的鄙视链
一个程序员的时间管理
一个程序员的时间管理
如何区分一个程序员是“老手“还是“新手“?
如何区分一个程序员是“老手“还是“新手“?
总结2014中国互联网十大段子
总结2014中国互联网十大段子
鲜为人知的编程真相
鲜为人知的编程真相
初级 vs 高级开发者 哪个性价比更高?
初级 vs 高级开发者 哪个性价比更高?
我是如何打败拖延症的
我是如何打败拖延症的
当下全球最炙手可热的八位少年创业者
当下全球最炙手可热的八位少年创业者
为什么程序员都是夜猫子
为什么程序员都是夜猫子
程序员必看的十大电影
程序员必看的十大电影
每天工作4小时的程序员
每天工作4小时的程序员
写给自己也写给你 自己到底该何去何从
写给自己也写给你 自己到底该何去何从
什么才是优秀的用户界面设计
什么才是优秀的用户界面设计
亲爱的项目经理,我恨你
亲爱的项目经理,我恨你
做程序猿的老婆应该注意的一些事情
做程序猿的老婆应该注意的一些事情
Web开发者需具备的8个好习惯
Web开发者需具备的8个好习惯
Java 与 .NET 的平台发展之争
Java 与 .NET 的平台发展之争
要嫁就嫁程序猿—钱多话少死的早
要嫁就嫁程序猿—钱多话少死的早
软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有