知识大全 也说MVC设计模式
Posted 视图
篇首语:书到用时方恨少,事非经过不知难。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 也说MVC设计模式相关的知识,希望对你有一定的参考价值。
JavaMe开发:也说MVC设计模式 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
【问题描述】介绍设计模式的文章和书很多 但只有使用时 才能理解设计模式的妙处 接上一篇《JavaMe连载( ) 低级界面绘图之菜单》 本文一则对UIController作出解释 一则将自己理解的MVC设计模式 结合实例 与大家交流学习
【理论】什么是MVC?
MVC就是模型(model) 视图(view)和控制(control) 什么是模型呢?本例中 模型就是对数据使用时的封装 视图很容易理解 那就是显示内容的具体表示 控制呢?有很多人对视图和控制分不清 在本例中 控制包含视图控制器以及方法的封装
【实例】
先看工程结构 如图 所示
图 工程结构
工程中将用户数据单独封装 作为model 供控制器和视图调用 将显示页面单独封装 作为视图 将视图控制器UIController和常用方法封装为util UIController就是控制
UML图(后续更新时补充)
先看代码 再分析工作机理
【代码清单】
MainMidlet java
package token midlet; import java io IOException; import javax microedition lcdui *; import javax microedition midlet MIDlet; import javax microedition midlet MIDletStateChangeException; import token util UIController; public class MainMidlet extends MIDlet private Display display; private static UIController controller; public MainMidlet() // TODO Auto generated constructor stub super(); display=Display getDisplay(this); /* (non Javadoc) * @see javax microedition midlet MIDlet#pauseApp() */ protected void startApp() throws MIDletStateChangeException controller=new UIController(this); try controller init(); catch (IOException e) // TODO Auto generated catch block e printStackTrace(); //初始化RecordStore /* (non Javadoc) * @see javax microedition midlet MIDlet#pauseApp() */ protected void pauseApp() this notifyPaused(); /* (non Javadoc) * @see javax microedition midlet MIDlet#destroyApp(boolean) */ protected void destroyApp(boolean arg ) throws MIDletStateChangeException controller=null; public void setCurrent(Displayable disp) display setCurrent(disp); public void setCurrent(Alert alert Displayable disp) display setCurrent(alert disp); public Displayable getCurrent() return display getCurrent(); public void exit(boolean arg ) try destroyApp(arg ); notifyDestroyed(); catch(MIDletStateChangeException e) //
模型(Model)
UserDataItem java
package token model; import token util StringDealMethod; public class UserDataItem private int id; public String name = null; public String passwd = null; public UserDataItem(String name String passwd) this name = name; this passwd = passwd; public UserDataItem(int id byte[] data) this id=id; String temp=new String(data); String temp_sub[] = StringDealMethod split(temp ); this name = temp_sub[ ]; this passwd = temp_sub[ ]; public int getId() return id; public void setId(int id) this id=id; public String getName() return name; public void setName(String name) this name = name; public String getPasswd() return passwd; public void setPasswd(String passwd) this passwd = passwd; public byte[] getBytes() String temp=null; if(name==null||passwd==null) return null; else temp=name+ +passwd; return temp getBytes();
控制(control)
UIController java
cha138/Article/program/Java/gj/201311/27275相关参考
ASP.NETMVC4框架揭秘:传统MVC模式 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 第
ASP.NETMVC4框架揭秘:什么是MVC模式 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
浅谈ASP.NET开发下的MVC设计模式的实现 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nb
浅析MVC模式与三层架构的区别 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 浅析MVC模式与三
java开发:Swing是MVC设计的典范 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 不管你
通过Struts应用MVC设计模型 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 模型视图控制器
在PHP中使用MVC模式进行开发 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 软件结构发展过程
浅谈三层结构与MVC模式的区别 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 有朋友谈到三层与M
ASP.NET谈三层结构与MVC模式的区别 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 在CS
微软发布ASP.NETMVC设计模板库 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 微软最近公