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

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

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

------解决方案--------------------
就是一个类,进行封装数据的!
------解决方案--------------------
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发生相应改变;

文章评论

软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有