- 浏览: 340357 次
- 性别:
- 来自: 广州
文章分类
最新评论
http://blog.csdn.net/tianxiaode/article/details/6562113
应用的可扩展性、可维护性和灵活性取决于应用架构的质量。不幸的是,这往往被视为马后炮。概念设计和原型变成了大规模的应用,许多应用的基础基本就是示例代码的复制与粘贴,这很诱人,因为这可以让你在项目在开始阶段有一个快速的进度。 然而,节省下来的时间相对于项目后期的维护、扩展甚至重构应用的时间来说,算不得什么。比较好的的方式是写一个可靠的架构,在实施前编写好遵循的约定和定义应用的视图、模型、存储和控制器等。在这篇文章,我们将会看到一个受欢迎的应用并讨论如何构建用户接口,从而创建可靠的架构。 代码结构 应用程序架构体系会为实际类和框架大妈提供结构和一致性。建立一个好的架构有以下主要好处: ■ 每个应用的工作方式是相同的,因而你只需要学习一次。 ■ 在应用之间很容易分享代码,因为工作方式是相同的。 ■ 你可以使用ExtJS的生成工具为你的应用程序创建经过优化的发布版本。 在ExtJS 4创建你的应用时,应该考虑一下我们定义的约定,尤其是统一的目录结构。这个结构要求所有类文件都放到app目录下,在该目录下,可根据命名空间划建立models、views、controllers和stores等4个子目录。 虽然ExtJS 4提供了如何构建你的应用的最佳做法,但是你也可以根据自己需要修改我们建议的文件和类的命名约定,例如,你可以为你的控制器在“Controller”前加上前缀,如“Users”修改为“UsersController”。在这种情形下,记得给所有的控制器文件和类加前缀。最重要的一点是,要在开始编写应用程序前定义好这些约定并遵守它。这样,你就可以在任何需要的地方调用这些类。我们强烈建议要遵守控制器、模型、Store、视图这4个文件夹的命名约定,这可以确保你可以使用SDK Tools beta 对应用进行优化。 寻找平衡点 视图 将应用程序的UI分割成视图是好的开始。通常做法是,你提供线框,而设计师创建UI实体模型。尝试一下使用以下模型,让我们的设计师如何使用ExtJS重建(非常有吸引力)Pandora应用。 我们需要在视图粒度与通用性之间寻求一个平衡。让我们看看当划分太多视图的时候会发生什么。 将UI划分成太多小的视图将会让视图在控制器中变得难以管理、引用和控制。另外,由于每个视图都有其自己的文件,创建过多的视图会让定义UI块或视图逻辑时很难找到视图文件。 另一方面,我们不希望视图变得太通用,因为这样在修改时会失去灵活性。 在这种情况下,每个视图已经过于简化。当视图的几个部件需要自定义视图逻辑的时候,视图类最终会有太多的负担,产生的视图类变得很难维护。另外,当设计师考虑改变UI时,我们不得不重构视图定义和视图逻辑,这是相当烦人的事。 当我们可以轻松的在页面上重新排列视图,热切不需要每次都重构它们的时候,说明已经取得了平衡。例如,我们可以把广告作为独立视图,这样,我就可以很容器移动它,甚至删除它。 在这一版本,我们根据视图的任务来划分UI。一旦你对使用视图组合UI有整体思路,那么,你就可以在实现它们时对其粒度作出调整。有时候,你会觉得两个视图应该成为一个,或是视图太通用,需要将其划分成多个视图,这是一个良好的开端的基础。我相信我们已经做到了这一点。 模型 现在我们已经有了视图的基本结构,是时候考虑模型的问题了。通过考察UI中动态数据的类型,我们可以获得应用中所需的不同模型。 我们已经决定只使用两个模型:Song和Station。我们可以定义多两个模型:Artist和Album。然而,与视图类似,我们并不想定义模型时也变得太通用。在当前情况下,我们并不需要将artist和album信息独立出来,因为当前应用不允许用户根据指定的artist选择song。相反,数据是根据station组织的,song是重点,而artist和album是song的属性。这意味着我们不能将song、artist和album结合到一个模型。这可以大大简化应用的数据边界。这也能简化在服务器端的API,因而我们不需要加载artists和albums。因而,对于这个示例,只需要2个模型:Song和Station。 Stores 现在我们需要考虑如何在应用中使用模型,也就是如何设计Store的问题。 要搞清楚需要使用那些Store是比较容易的。一个好的策略是先确定页面上所有需要绑定数据的组件。在当前情况下,我们需要列出用户收喜爱stations,一个显示近期播放过的歌曲的scroller,一个搜索区域以显示搜索结果。每一个这样的视图度需要绑定一个Store。 控制器 有几种方法可以让你通过应用控制器发布应用的响应。让我们开始考虑当前例子需要那些控制器。 这里有2个基本控制器:SongController和StationController。ExtJS 4允许你使用一个控制同时其控制几个视图。StationController要处理的事情包括创建新的stations,以及当用户喜爱的station加载后,将其应用到StationList视图。SongController负责管理SongInfo视图和根据用户的liking、disliking、暂停和跳过操作更新RecentSong Store。控制器可通过应用事件的触发和监听实现相互之间的交互。当我们可以创建余下的控制器,一个用于管理playback,另外一个用于搜索stations,我想我们已经找到了好的划分响应的方法。 三思而后行 我们分享我们的想法,重点在于希望有助于你写代码前的应用架构的规划。我们期望通过应用程序的细节讨论有助于你建立更灵活的更容易维护架构。 作者: Tommy Maintz
Tommy Maintz leads the development of Sencha Touch. With extensive knowledge of Object Oriented JavaScript and mobile browser idiosyncracies, he pushes the boundaries of what is possible within mobile browsers. Tommy brings a unique view point and an ambitious philosophy to creating engaging user interfaces. His attention to detail drives his desire to make the perfect framework for developers to enjoy.
发表评论
-
EasyUI和EasyUI桌面App
2013-04-15 11:56 1196http://fxz-2008.iteye.com/blog/ ... -
Jquery进度条
2013-04-12 09:08 870http://www.cnblogs.com/lhb25/ h ... -
11个适合触摸事件开发的JavaScript库
2013-04-10 09:23 812http://www.codecto.com/2012/08/ ... -
Jquery插件
2013-03-22 18:33 785http://www.cnblogs.com/ywqu/arc ... -
宝贝鱼
2013-03-18 23:54 687http://code.google.com/p/cshbbr ... -
HTML&JS MVC
2013-03-15 16:27 623http://www.bootcss.com/ http:// ... -
浏览器内核及Js引擎介绍
2013-03-15 16:18 741http://wenku.baidu.com/view/623 ... -
EXTJS Demo
2013-03-12 17:19 792http://web230531.host89.chinajs ... -
网站架构和两个3d技术
2013-01-17 16:52 0http://blog.csdn.net/lovingprin ... -
DWR数据反推实例
2013-01-16 16:42 1419http://blog.sina.com.cn/s/blog_ ... -
javascript调用服务端方法
2012-12-17 22:03 939http://www.php100.com/html/webk ... -
DWR推送技术
2012-12-13 16:13 10638DWR2.x的推技术也叫DWR Reverse Ajax(逆向 ... -
wireshark 协议过滤
2012-10-09 11:32 1633http://blog.csdn.net/cumirror/a ... -
一个很不错的Javascript绘图库
2012-09-27 17:18 0http://www.jgraph.com/ http://w ... -
dwr推送数据
2012-09-21 16:59 0Dwr数据推技术:http://blog.csdn.net/k ... -
Extjs4 Css美工相关
2012-09-03 10:39 2988转: http://www.sencha.com/lear ... -
Extjs下拉树组件
2012-09-03 09:40 976转: http://www.2cto.com/kf/20120 ... -
Javascript基础一(apply, call, arguments, prototype)
2012-08-22 22:42 1074//javascript: apply, call, argu ... -
Extjs4的事件实例
2012-08-09 09:11 808http://www.cnblogs.com/luluping ... -
EXTJS中的Store是如何工作的
2012-08-08 21:04 964http://idoa3l3x.blogbus.com/log ...
相关推荐
资源名称:Extjs4 应用架构设计 中文WORD版内容简介:本文档主要讲述的是Extjs4 应用架构设计;在这篇文章,我们将会看到一个受欢迎的应用并讨论如何构建用户接口,从而创建可靠的架构。希望本文档会给有需要的朋友...
《ExtJS4应用架构设计》主要探讨了在开发过程中如何构建高效、可扩展且易于维护的应用程序架构。本文档特别关注了代码结构、视图(View)、模型(Model)、存储(Store)和控制器(Controller)的设计原则,以实现平衡和灵活...
【ExtJS4应用架构设计】是关于如何构建高效、可扩展和易于维护的ExtJS4应用程序的指导。本文档着重于应用的结构和组件的组织,以提高代码的复用性和可读性。 首先,应用的可扩展性、可维护性和灵活性是其成功的关键...
ExtJS 4 中的MVC应用架构是一种组织大型客户端应用程序的方式,旨在提高代码的可维护性和可扩展性。随着应用程序的复杂性和开发人员数量的增长,传统的编程方式可能会导致难以管理和控制的代码库。ExtJS 4 引入了...
【标题】"Vs2005+Access+Asp.net+Extjs三层架构源码" 涉及的关键技术是微软的开发环境Visual Studio 2005(Vs2005)、数据库管理系统Access、Web应用程序框架Asp.net以及前端交互库ExtJS。这些组件共同构建了一个...
在给定的"Extjs4 grid使用例子"中,我们可以深入理解如何在MVC架构下有效地利用ExtJS4的Grid组件。Grid组件是ExtJS中的核心部分,它提供了一个灵活的、可定制的数据展示网格,通常用于显示和操作大量数据。 1. **...
总之,"extjs组织架构图"是一个使用ExtJS框架实现的交互式组织结构展示工具,具有良好的可扩展性和美观的设计。它利用TreePanel组件展示了公司内部的层级关系,为用户提供了一种直观、易用的方式来理解和导航复杂的...
4. **代码生成**:设计器的一个关键特性是能够自动生成ExtJS脚本。这意味着开发者无需手动编写大量DOM操作和事件处理代码,只需要关注于UI设计和逻辑结构,极大地简化了开发流程。 5. **提高开发效率**:对于ExtJS...
### Extjs4之MVC应用架构详解 #### 一、MVC模式介绍 MVC(Model-View-Controller)模式是一种软件设计模式,用于将应用程序的业务逻辑、数据表示和用户交互分离,使得应用程序更加模块化,易于维护和扩展。在ExtJS...
本项目为基于EXTJS 7.5 MVVM架构设计的开源快速开发模板框架,包含7505个文件,涵盖3580个JavaScript文件、1490个PNG图片、1375个SCSS样式文件、486个GIF动画、203个Markdown文件、72个HTML文件、60个JSON和XML配置...
最新最牛气的代码生成器,只需设计好数据库,直接生成可以用的BS项目,此代码生成器非常方便,做项目只需设计好数据库,然后按照生成提示一步步做,即可生成可直接使用的项目,从数据访问层到表示层,所有代码一气...
EXTJS4是一款强大的JavaScript框架,专门用于构建富客户端应用程序,尤其在企业级Web应用中广泛应用。这个项目实例是一个基于EXTJS4的图片文章管理系统,它展示了如何利用EXTJS4的功能来实现一个完整的前后端交互的...
学习ExtJS4时,建议首先了解其MVC架构,这是整个框架的核心设计模式。然后,熟悉基本组件的使用,例如Panel、Grid、Form等,它们是构建用户界面的基本模块。接着,通过实践应用实例,掌握如何将组件组合在一起,形成...
ExtJS和jBPM4是两个在IT领域中用于构建企业级应用的重要工具。ExtJS是一个JavaScript库,专用于创建富客户端用户界面,而jBPM4则是一个工作流管理系统,用于管理和执行业务流程。本篇文章将深入探讨这两个技术如何...
这一重构不仅涉及到了框架内部的每一个类,还重新设计了其架构,以适应更复杂、更高效的应用开发需求。 对于开发者而言,深入理解ExtJS4的类系统变得至关重要。无论是希望扩展现有功能还是构建全新的类,熟悉并掌握...
EXTJS4.2中的MVC架构使得大型应用的组织和维护变得更加容易,文档将深入讲解如何有效地使用这个架构来构建EXTJS应用。 "Ext_JS_4.0编码规范.pdf"则是EXTJS的编程标准,遵循这些规范可以确保代码的可读性、可维护性...
在ExtJS 4中,MVC架构被进一步强化,以适应大型复杂应用的需求。下面我们将深入探讨ExtJS 4 MVC的主要组件和它们的工作原理: 1. **Model(模型)**:模型层负责处理应用程序的数据。在ExtJS中,模型类定义了数据...
4. **代码视图(Code View)**:展示生成的EXTJS代码,让用户可以查看和编辑底层的JavaScript代码,这对于开发者理解和自定义设计非常有帮助。 5. **保存和加载(Save & Load)**:设计完成后,用户可以将设计保存...
通过这个实例,你可以学习如何使用ExtJS4 MVC架构组织代码,理解各个部分的作用,以及如何通过它们之间的协作来构建动态的、响应式的用户界面。同时,由于实例还混合了一些其他相关小组件,你还将有机会接触到更多...