首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 开源 FAQ 第二书店 博文视点 程序员
频道: 研发 数据库 中间件 信息化 视频 .NET Java 游戏 移动 服务: 人才 外包 培训
    图书品种:235680
       
热门搜索: ASP.NET Ajax Spring Hibernate Java

4.1.1  以不同的规模重复MVC模式

经典的Web MVC模式以粗粒度的规模描述完整的应用。生成的整个数据流是视图,整个CGIservlet层是控制器,等等。

在桌面应用开发中,MVC模式常常以粒度细得多的规模被应用,像按钮这样简单的UI组件也可以使用MVC

l    状态的内部表示(例如压下、放开、不活动)是模型。Ajax UI组件通常实现为JavaScript对象。

l    显示在屏幕上、由DOM(文档对象模型)节点组成的UI组件,在Ajax用户界面中(不同状态的修改、突出显示、工具提示)是视图。

l    将两者关联起来的内部代码是控制器。事件处理函数代码(即当用户按下按钮时,在更大的应用中发生的事情)也是控制器,但不是这个视图和模型的控制器。我们不久就会看到。

孤立的按钮只有很少的行为、状态或者可视的变化,所以在这里使用MVC的意义相当小。如果我们考察一个更加复杂的UI组件,例如一棵树或者一张表格,整个系统就足够复杂,可以从基于MVC的设计中得益甚多。

4-1展示了将MVC应用于树UI组件。模型由树的节点组成,每个节点有一个子节点列表、一个打开/关闭的状态和一个到某些业务对象的引用,每个节点代表一个文件浏览器中的文件和目录。视图由图标和在UI件画布上画的线组成。控制器处理用户事件,例如打开和关闭节点、显示弹出菜单、为特定的节点触发图形更新调用,允许视图增量地刷新自己。

4-1  模型—视图—控制器应用于树UI组件的内部功能。视图由一组显示在屏幕上的元素组成,后者是一些DOM元素。在场景的背后,树结构建模为一组JavaScript对象。控制器代码在两者之间起协调的作用

这就是在熟悉的Web服务器场景之外应用MVC的一种方式。但是还不完整,让我们先将注意力集中于Web浏览器。

查看所有评论(0)条】

最近评论



正在载入评论列表...
热点评论