设计模式实战MVC模式

设计模式实战MVC模式

ID:40313382

大小:90.50 KB

页数:13页

时间:2019-07-30

设计模式实战MVC模式_第1页
设计模式实战MVC模式_第2页
设计模式实战MVC模式_第3页
设计模式实战MVC模式_第4页
设计模式实战MVC模式_第5页
资源描述:

《设计模式实战MVC模式》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、设计模式:实战MVC模式[作者:来源:点击数:18] 内容:1.MVC2.Observer接口3.模型Model4.视图View5.控制器Controller6.运行程序MVC“模型-视图-控制器(Model-View-Controller,MVC)结构是为那些需要为同样的数据提供多个视图的应用程序而设计的,它很好的实现了数据层与表示层的分离。例如下图中的例子:我们看到,图中的几组数据以不同的形式(View)表现出来,一个是表格样式,一个是图形样式。MVC把这种应用程序分为三种对象类型:模型:维护

2、数据并提供数据访问方法。视图:给制模型的部分数据或所有数据的可视图。控制器:处理事件.以下是典型的MVC通信方式,事件由控制器来处理,控制器接收用户事件,并根据事件的类型来改变模型。视图事先会在模型中登记,当模型数据发生改变时,马上通知已向此模型登记的每个视图。视图从模取得最新的数据并刷新自己.要实现MVC,最重要的一个环节是使用DesignPattern中的Observer模式。Observer模式允许某个对象在所观察的对象发生修改时通知多个观察者(Observer).下面我们就以实例来讲解如何

3、用Obserer模式实现MVC的程序结构。在我的例子中,我要实现一个学生年龄显示的例子。分别用清单和图形的方式显示每个学生的年龄。当年龄改变时,自动更新显示。Observer接口为了实现观察的对象发生修改时通知多个观察者,通常要在被观察者与观察者之间有一个小的接口,如下:/file:Observer.java/publicinterfaceObserver{   publicvoiddataUpdate(Modelmodel);}这个接口中有一个dataUpdate(Modelmodel)方法,只

4、要实现了这个接口对象,就成了一个观察者。模型Model再来建立一个数据模型。在我的例子中,先建立了一个数据对象:/file:Data.java/publicclassData{   publicintvalue;//学生年龄值   publicStringname;//学生名}现在来建立一个Model:/file:Model.java/importjava.util.;publicclassModel{   ArrayListdata=newArrayList();   ArrayListobse

5、rver=newArrayList();   publicModel()   {   super();   }   publicModel(int[]value,String[]name)   {       for(inti=0;i

6、th;i++)       {           addData(data[i]);       }   }   publicvoidaddData(intvalue,Stringname)   {       Datadata=newData();       data.value=value;       data.name=name;       this.data.add(data);   }   publicvoidaddData(Datadata)   {       this.da

7、ta.add(data);   }   publicDatagetData(intidx)   {       return(Data)(data.get(idx));   }   publicintsize()   {       returndata.size();   }//用来向模型中登记观察者.   publicvoidregisterObserver(Observero)   {       observer.add(o);   }   publicvoidremoveObserver

8、(Observero)   {       observer.remove(o);   }   //当数据改变时,由Controller调用此方法,通知各个Observer,刷新视图.   publicvoidchangeModel(Modelmodel)   {       data.clear();       for(inti=0;i

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。