网站大量收购独家精品文档,联系QQ:2885784924
  1. 1、本文档共11页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
LWUITMVC.

解读 LWUIT 之七:深入理解 LWUIT 框架的 MVC LWUIT 开发指南下载 作者写的 Hello List 源代码下载 MVC 是一个优秀的体系结构设计模式。MVC 把软件系统分为三个基本部分:模型(Model),视图(View)和控制器(Controller)。如下图所示: 上图对 MVC 模式做了简单解释,明白了上图对 MVC 的各个划分部分的职责就很容易理解了。模型(Model)又称“数据模型”(Model),用于封装与应用程序的业务逻辑相关的数据以及对数据的处理方法。“模型”有对数据直接访问的权力,例如对数据库的访问。“模型”不依赖“视图”和“控制器”,也就是说,模型不关心它会被如何显示或是如何被操作。但是模型中数据的变化一般会通过一种刷新机制被公布。为了实现这种机制,那些用于监视此模型的视图必须事先在此模型上注册,从而,视图可以了解在数据模型上发生的改变。 视图(View)又称视图层,能够实现数据有目的的显示(理论上,这不是必需的)。在视图中一般没有程序上的逻辑。为了实现视图上的刷新功能,视图需要访问它监视的数据模型(Model),因此应该事先在被它监视的数据那里注册。 控制器(Controller)起到不同层面间的组织作用,用于控制应用程序的流程。它处理事件并作出响应。“事件”包括用户的行为和数据模型上的改变。 Swing MVC 是公认的 MVC 设计的典范,Swing 的各个可视化组件都使用 MVC 模式来设计。在 Swing 中,M(Model,数据模型)是 JTextField 的 Document,JTabel 的 TableModel,JTree 的 TreeModel 。。。V(View,视图)则是 ComponentUI。C(控制器,Controller)却不是很明显,可以简单地将其 Event 机制看做一个 Swing 团队开发给 Swing 程序员的 C。 LWUIT 引入了 MVC 的设计思想,其实 LWUIT 就是一个 JavaME 的 MVC 框架,LWUIT 官方就把 Swing Like MVC 列在了其主要特征的第二位。了解了 Swing 的 MVC 之后,参照 LWUIT 的 API,我想你可以将 LWUIT 的 M、V、C 对号入座了吧?没错,正如你所猜到的,在 LWUIT 中,M(Model,数据模型)是 List 的 ListModel,Tabel 的 TableModel,Tree 的 TreeModel 。。。V(View,视图)则是 ComponentUI(即 API 中给的各个 LWUIT 控件)。C(控制器,Controller)却不是很明显,可以简单地将其 Event 机制看做一个 LWUIT 团队开发给 LWUIT 程序员的 C。如果你觉得这样说对控制器的理解很抽象,你可以把你的程序里每个实现了 com.sun.lwuit.events.ActionListener 接口的类当成一个控制器。 MVC 的优势就是各司其责:M 只管把数据组织好就是了;V 只管把信息完美地展现给用户;而 C 则只负责对用户事件进行监听,并做出相应处理,它是 MVC 的组织者。这让人想起来流行的 Java EE 四层体系架构:展现层、业务层、数据访问层(操作保存数据库)、持久层(数据保存为文件),各层各司其职。那是以业务模型为中心的大型应用,我们的 JavaME 只是手机客户端的应用小程序,没有那么复杂的业务逻辑要处理,也没有庞大的业务数据要持久化,没有必要分那么多层,就一个表现层足够了。也可以根据需要适当把模型层扩展一下。如下图所示,对使用了 LWUIT 的 Java ME 应用程序中责任分工做的一个概述。 MVC 可以使我们应用程序的表现层部分更加低耦合、高内聚、灵活度更高。那么我们在 LWUIT 程序中应该怎样使用 MVC 模式呢? 1、Form 或者其他顶层容器中,由各个 LWUIT 组件构成了 View 视图层。用来展现数据,提供用户操作的图形界面。 2、一个或者一组业务对象是 Model。它们存放了 LWUIT 组件要显示的数据。它们是业务对象,因此,可以直接在业务层代码中使用,执行复杂的业务计算。为了让 LWUIT 组件实时展现业务对象的数据,我们需要让 LWUIT 组件监听业务对象,一旦业务对象发生改变,就重新根据新的数据,构建新的 LWUIT 组件的 Model,从而在 LWUIT 组件上展现必威体育精装版的业务对象数据。为了让业务对象能够得到用户必威体育精装版输入的数据,我们还需要将业务对象注册到

文档评论(0)

xznh + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档