知识大全 也说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

相关参考

知识大全 传统MVC模式

ASP.NETMVC4框架揭秘:传统MVC模式  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  第

知识大全 什么是MVC模式

ASP.NETMVC4框架揭秘:什么是MVC模式  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 浅谈ASP.NET开发下的MVC设计模式的实现

浅谈ASP.NET开发下的MVC设计模式的实现  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nb

知识大全 浅析MVC模式与三层架构的区别

浅析MVC模式与三层架构的区别  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  浅析MVC模式与三

知识大全 Swing是MVC设计的典范

java开发:Swing是MVC设计的典范  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  不管你

知识大全 通过Struts应用MVC设计模型

通过Struts应用MVC设计模型  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  模型视图控制器

知识大全 在PHP中使用MVC模式进行开发

在PHP中使用MVC模式进行开发  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  软件结构发展过程

知识大全 浅谈三层结构与MVC模式的区别

浅谈三层结构与MVC模式的区别  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  有朋友谈到三层与M

知识大全 ASP.NET谈三层结构与MVC模式的区别

ASP.NET谈三层结构与MVC模式的区别  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在CS

知识大全 微软发布ASP.NET MVC设计模板库

微软发布ASP.NETMVC设计模板库  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  微软最近公