Sencha Touch 2 MVC 总纲(应用程序简介)

合集下载

(入门篇01)Getting Started with Sench Touch 2 中文翻译

(入门篇01)Getting Started with Sench Touch 2 中文翻译

Getting Started with Sencha Touch 2作者:一夕QQ:944281625本系列文章为翻译文章,翻译自API文档,也是入门级别的文章,请初学者仔细阅读,如果翻译有不妥的地方,请谅解,如果转载请注明作者及出处。

What is Sencha T ouch?Sencha Touch可以让你轻松快速的创建基于HTML5的手机应用程序,这些应用程序可以运行在Android,IOS,以及黑莓等手机系统中,虽然我们是在浏览器中使用的,但是极似本地的应用程序。

Things you'll need我们要想学习或者使用Sencha Touch来开发我们的应用程序,我们首先就要下载免费的开发包,目前比较流行的是Sencha Touch 2 SDK,还需要下载SDK Tools,这些我们都可以从Sencha的官网上下载到。

另外我们还需要的就是基于Webkit的浏览器,Chrome和Safari都是比较不错的选择,虽然Firefox功能也不差,但是不是干这个用的。

另外就是我们需要把我们编译好的程序发布测试,就需要一个类似tomcat的服务器软件,至于如何使用,我想你应该比我熟悉吧。

不过如果你的开发工具功能比较强大的话,会自带一些类似tomcat的软件,那你就会轻松很多了,比如Aptana 3.0就是很好的工具。

但是如果你使用了eclipse的话,那么tomcat是必不可少的了。

由于本人使用的win7+Aptana/eclipse,所以我很少使用tomcat,都是直接双击运行的,系统的优势就这是这么简单的。

对于mac的用户我不太了解,你们可以上网查询。

Installation首先,我们需要把我们下载好的SDK文件解压到一个我们访问起来比较方便的目录下,因为我们要经常地查看里面的文档,来指引我们完善我们的应用程序。

接下来我们需要安装的就是SDK Tools,我们便可以轻松的使用sencha命令行来生成我们需要的应用程序模板。

Sencha Touch 2 控制器指南

Sencha Touch 2 控制器指南

前言:控制器[Controller] 在Sencha Touch MVC中起到的是纽带作用,它控制视图[View] 的展示逻辑,又负责以数据模型[Model] 为基础的数据[Data] 处理逻辑(包括数据的加载、展示、更新、增删等等)。

控制器就像胶水,有了它才能够把一个Sencha Touch(后面一律简写做ST)应用程序[Application] 的各项元素黏合在一起,使之协调工作并完成预期的任务。

文章英文原址是:/touch/2-0/#!/guide/controllers原文标题是Controllers,直译就是控制器,不过在官方文档中也称之为Controllers Guide,我觉得用这个标题更为恰切一些。

Sencha Touch 交流QQ群213119459Controllers Guide控制器学习指南Controllers are responsible for responding to events that occur within your app. If your app contains a Logout button that your user can tap on, a Controller would listen to the Button's tap event and take the appropriate action. It allows the View classes to handle the display of data and the Model classes to handle theloading and saving of data - the Controller is the glue that binds them together.控制器用来响应发生在应用程序中的事件,如果你的应用程序包含一个让用户点击的登出按钮,那么就应该有一个控制器来侦听该按钮的点击事件然后作出恰当的反应。

SenchaTouch入门文档

SenchaTouch入门文档

SenchaTouch 简称ST.写ST需导入两个文件sencha-touch.csssencha-touch.js (或者sencha-touch-debug.js 开发调试用,ST还有很多工具文件如util等) 在PC机上ST程序需要用Google浏览器(开发浏览器)ST API需要放在容器(如Tomcat)里才能打开.最简单ST程序:Ext.setup({icon:'icon.png',tabletStartupScreen:'tablet_startup.png',phoneStartupScreen:'phone_startup.png',glossOnIcon:false,onReady:function(){alert('程序入口');}});创建ST应用两种方法:1/ Ext.setupExt.setup({icon : 'icon.png',tabletStartupScreen : 'tablet_startup.png',phoneStartupScreen : 'phone_startup.png',glossOnIcon : false,onReady : function(){var form = new Ext.Panel({fullscreen : true,items : [{xtype : 'textfield',label : 'xxxxxxx'}]});form.show();}});2/ Ext.Applicationvar FirstApp = new Ext.Application({name : 'firstApp',useLoadMask : true,launch : function () {var form = new Ext.Panel({fullscreen : true,items : [{xtype : 'textfield',label : 'xxxxxxx'}]});form.show();}});ST常用方法和语句FormObj.getFields('String ObjName);通过名字得到表单里的对象, 如果有多一个相同名字,则返回一个数组对象. FormObj表示表单.Ext.getCmp(String Obj); 通过id得到对象.PanelObj.setActiveItem(),切换界面PanelObj表示Panel对象.eval()可计算某个字符串,并执行其中的的JavaScript 代码。

简述mvc原理

简述mvc原理

简述mvc原理MVC 是一种软件架构模式,它将软件系统分为三个主要部分:模型(Model)、视图(View)和控制器(Controller)。

这个模式的核心思想是解耦各个组件,使得它们可以独立地开发、测试和维护。

在 MVC 架构中,业务逻辑、数据和用户界面是分离的。

M (Model) 模型是应用程序中处理数据业务逻辑的部分,负责数据的存储和提供对外的访问接口。

模型是非常关键的组件,它通常包含了数据存储和数据操作的方法。

模型要负责处理数据的逻辑,例如对数据的验证,查询,保存等。

常见的模型包括数据库模型,本地文件模型和API模型等。

V (View) 视图是应用程序中展示数据的部分,负责接收用户的输入,并将其转化为适当的响应,通常是一个屏幕上的展示结果。

视图可以是Web应用程序中的HTML页面、桌面应用程序中的窗体、移动应用程序中的界面等。

通常情况下,视图不会对数据进行更改,它仅仅接收数据,并将其呈现给用户。

MVC能够提供众多优点,包括:纯Java基于契约的Web框架。

模型、视图和控制器的分离可以使得开发人员更容易实现修改一个特定部分的应用程序,而不影响其他部分。

MVC 最终将导致更少的代码重复、更小的复杂性和更好的可维护性。

MVC 支持同一个应用程序中的多个视图。

由于模型可以独立于视图进行测试,因此可以更好地确保代码的质量。

因为模型是独立的,所以可以将数据提供者和数据使用者分开。

MVC 是一种可扩展的模式,因此可以轻松添加新功能、新模型和新视图。

MVC 模式具有更好的代码可读性和可重复性。

MVC 原理是让代码分离和各个组件之间进行沟通的过程简单化。

在一些通过 AJAX 技术实现 Web 应用的时候,由于前台展示多页,代码的复杂性会随之增加,利用 MVC 模式将前台的处理和后台的处理分离,这样就可以避免后台代码过于复杂,从而提升Web应用的质量。

在实际开发中,采用 MVC 架构模式的应用程序通常包含多个命名空间,每个命名空间都有一个子系统(子系统可能包含多个控制器、模型和视图)。

讲稿:基于CeMIAP进行移动应用开发-SenchaTouch介绍

讲稿:基于CeMIAP进行移动应用开发-SenchaTouch介绍

• V:视图
– 常用视图:container,navigationview,list,formpanel,xxxfield
• C:控制器
– 单例,加载后即创建 – 胶水:获取M,更新V
强大的Data包
• Model
– 需要用户自定义 – 定义模型有哪些field – 每个field的name,type,defaultValue,convert函数
• 视图间如何切换?视图间如何通讯?谁来控制?
– Controller – ponentQuery – fireEvent/control/listeners,
• 如何获取数据?
– Model,Proxy,Reader
• 获得的数据如何绑定到视图上?
– Store
• 如何触发事件?事件如何监听?
• Form组件
– FormPanel,FieldSet,Checkbox,Hidden,Text,Date,Slider
• 通用组件
– Panel,TabPanel,Viewport,Img,ActionSheet,MessageBox ,Map,Audio/Video
组件实例化
• 编程方式
– Ext.create/Container.add
• 配置方式
– items/xtype
布局
布局
布局
ComponentQuery(非常重要)
• ponentQuery
– query(selector,root):ponent[] – 从root(如果省略,在整个document中找)下查找符合 selector的组件 – selector的规则,类似css selector
V
V

Sencha Touch

Sencha Touch

Sencha Touch 简介Sencha Touch框架是世界上第一个基于HTML 5的Mobile App框架。

同时,ExtJS也正式更名为Sencha。

原域名也已经跳转至。

同时,JQTouch的创始人David Kaneda,以及Raphaël的创始人也已加盟Sencha团队。

“在未来的几个月内,我们的合作将会创造出令人惊叹的新东西来。

不会等太久的,我保证!”Sencha的CEO Abraham Elias如是说。

Sencha,翻译意为“煎茶”,是指一种在日本很流行的绿茶品种,“我们之所以选择这个名字,因为它会唤醒下一代软件开发并且它很容易记忆、拼写和发音”,在Java开发的传统中,它代表了软件开发的一个新水平阶段。

另外,Sencha还成立了一个基金会叫“Sencha Labs”,以支持非商业项目开发。

jQTouch和Raphaël将保留原有的MIT许可证。

原JQTouch项目将由Jonathan Stark接手维护和更新。

OK,下面我们来看一下这个来势汹汹的Sencha Touch,它有什么令人惊叹的新东西。

Sencha Touch可以让你的Web App看起来像Native App。

美丽的用户界面组件和丰富的数据管理,全部基于最新的HTML 5和CSS3的 WEB标准,全面兼容Android和iOS设备。

下面是官方列出的几大特性:◆基于最新的WEB标准– HTML 5,CSS3,JavaScript。

整个库在压缩和gzip 后大约80KB,通过禁用一些组件还会使它更小。

◆支持世界上最好的设备。

Beta版兼容Android和iOS,Android上的开发人员还可以使用一个专为Android定制的主题。

◆增强的触摸事件。

在touchstart等标准事件基础上,增加了一组自定义事件数据集成,如tap、swipe、pinch、rotate等。

◆数据集成。

提供了强大的数据包,通过Ajax、JSONp、YQL等方式绑定到组件模板,写入本地离线存储。

简述mvc的工作流程

简述mvc的工作流程

简述mvc的工作流程MVC是一种用于构建Web应用程序的设计模式,它是Model-View-Controller的缩写。

MVC模式将应用程序分成三个部分,分别是模型(Model)、视图(View)和控制器(Controller),它们之间有着明确的职责划分和交互方式。

下面将对MVC的工作流程进行简述。

1. 请求到达控制器(Controller)用户通过浏览器发起请求,请求会首先到达控制器。

控制器是应用程序的核心,它负责处理所有请求,并返回相应的视图或数据。

2. 控制器根据请求调用模型(Model)当控制器接收到请求后,它会根据请求的类型调用对应的模型来处理数据和业务逻辑。

模型是应用程序的数据处理中心,它从数据源(如数据库、文件等)中读取数据,对数据进行处理和分析,并将结果返回给控制器。

3. 模型处理数据并返回结果4. 控制器将结果发送到视图(View)当模型将处理结果返回给控制器后,控制器会将结果传递给视图。

视图是应用程序的用户界面,它负责显示数据和处理用户输入。

视图根据控制器传过来的数据,渲染出客户端需要的HTML页面或JSON数据。

5. 视图显示结果一旦视图获得了处理结果,它就可以将结果呈现给用户了。

这样用户就能看到请求的结果。

6. 用户操作触发控制器当用户在浏览器页面上进行操作时,例如点击链接、提交表单等,它会触发相应的请求。

这个请求会被传递到控制器。

以上就是MVC的工作流程。

当用户在浏览器上请求页面时,MVC设计模式就会自动运行。

通过将应用程序分解成三个不同的组件,MVC模式使得应用程序变得更易于开发、维护和扩展,并增强了应用程序的可测试性。

Sencha Touch 2 使用数据模型

Sencha Touch 2 使用数据模型

前言:作者:随他去了数据模型[Model]的主要职责是描述存储和管理应用程序的数据,堪称MVC应用程序的肌肉和组织,缺少了Model的应用程序只能是一具没多大实用价值的空壳。

事实上,几乎当前所有的互联网应用程序都是以数据的传递和交互为主要目的。

这篇文章的英文原址是/touch/2-0/#!/guide/models原文标题是:Using Models(使用数据模型)。

在官方文档目录中,它事实上的地位是MVC概述之后开篇三板斧之一,鉴于Sencha Touch MVC的特点,这三板斧的介绍顺序是倒过来的,先C控制器再V视图最后才是M数据模型,但是其重要性却不分先后。

Using Models in your Applications在应用程序中使用数据模型注:为方便起见,文中所有出现 Sencha Touch 的地方均以 ST 简写替代。

At its simplest a Model is just a set of fields and their data. We’re going to look at four of the principal parts of Ext.data.Model —Fields, Proxies, Associations and Validations.在最简单的情况下,一个数据模型只是一组字段和数据,我们来看一下Ext.data.Model的四个主要部分,Fields(字段), Proxies(代理), Associations(关联),Validations(验证)。

Let's look at how we create a model now:来看一下如何创建一个数据模型:Ext.define('User', {extend: 'Ext.data.Model',fields: [{ name: 'id', type: 'int' },{ name: 'name', type: 'string' }]});Using Proxies使用代理Proxies are used by stores to handle the loading and saving of model data. There are two types of proxy: client and server. Examples of client proxies include Memory for storing data in the browser's memory and Local Storage which uses the HTML 5 local storage feature when available. Server proxies handle the marshaling of data to some remote server and examples include Ajax, JsonP, and Rest.通常store会使用proxy来处理model数据的加载和存储。

mvc 原理

mvc 原理

mvc 原理MVC(Model-View-Controller)是一种软件设计模式,用于分离应用程序的不同组件,并促进代码的可重用性和可维护性。

MVC模式由以下三个组件组成:1. 模型(Model):模型代表应用程序的数据和业务逻辑。

它负责处理数据的获取、存储、更新和验证,并定义与数据相关的操作。

模型通常是应用程序的核心组件,负责处理应用程序的主要逻辑。

2. 视图(View):视图是模型的可视化表示。

它负责定义用户界面和用户交互,并显示数据给用户。

视图可以是一个图形界面、一个网页、一个控制台窗口等。

视图仅仅是数据的展示,不涉及业务逻辑。

3. 控制器(Controller):控制器充当模型和视图之间的中介。

它接收用户的输入并将其转发给模型进行处理。

控制器根据模型的状态更新视图,使其始终与模型的数据保持同步。

控制器还可以根据需要发出命令来更新模型或视图。

MVC模式的工作原理如下:1. 用户与视图进行交互,例如通过点击按钮或输入数据。

2. 视图将用户的输入发送给控制器。

3. 控制器接收到用户的输入后,根据需要更新模型的状态或执行相应的操作。

4. 模型根据控制器的指示进行数据的处理和操作,并将处理后的结果返回给控制器。

5. 控制器接收到模型的结果后,更新视图以显示更新后的数据。

视图使用模型提供的数据渲染用户界面。

通过将应用程序的不同组件分离,MVC模式提供了一种有效的方法来管理复杂的应用程序。

它使开发人员能够分别关注于模型、视图和控制器的开发,并改善代码的可维护性、复用性和可测试性。

同时,MVC模式也提供了一种基础架构,使团队成员可以并行开发不同的组件,并减少彼此之间的依赖性。

mvc原理及用法描述

mvc原理及用法描述

mvc原理及用法描述
MVC(Model-View-Controller)是一种软件架构模式,用于组
织代码并分离应用程序的不同部分,以便更容易管理和维护代码。

它将应用程序分为三个核心部分,模型(Model)、视图(View)和
控制器(Controller)。

模型(Model)是应用程序的数据部分,负责处理数据逻辑和与
数据库交互。

它通常包括数据的存储、检索、更新和删除等操作。

模型通常表示应用程序的核心业务逻辑和数据结构。

视图(View)是用户界面的呈现部分,负责向用户展示数据并
接收用户的输入。

它通常包括 HTML、CSS 和用户交互元素,如按钮、表单等。

视图的作用是将模型中的数据呈现给用户,并接收用户的
操作。

控制器(Controller)是应用程序的逻辑处理部分,负责接收
用户的输入、调用模型和视图,并根据用户的操作来更新模型和视图。

控制器充当模型和视图之间的中介,协调它们之间的交互。

MVC的用法是将应用程序的代码按照功能分为模型、视图和控
制器三个部分,并通过定义清晰的接口和协议来管理它们之间的交互。

这样做有助于提高代码的可维护性和可扩展性,使开发人员能够更容易地理解和修改代码。

在实际应用中,MVC常常被用于开发Web应用程序,例如使用MVC框架(如Spring MVC、 MVC等)来构建Web应用。

通过将代码分离为模型、视图和控制器,开发人员可以更好地组织和管理代码,提高开发效率和代码质量。

总之,MVC是一种常用的软件架构模式,通过将应用程序分为模型、视图和控制器三个部分,可以更好地组织和管理代码,提高代码的可维护性和可扩展性。

mvc 原理

mvc 原理

mvc 原理MVC(Model-View-Controller)是一种软件设计模式,用于构建用户界面和应用程序的分层架构。

它将应用程序分为三个主要部分:模型(Model)、视图(View)和控制器(Controller),每个部分有不同的责任和功能。

1. 模型(Model):模型负责处理应用程序的数据和业务逻辑。

它表示应用程序中的实体对象,包括数据的存储、检索和修改。

模型可以是数据库、文件、API等数据源,也可以是应用程序中的对象或数据结构。

模型通常与持久化层(数据库)进行交互,并通过接口(如DAO)提供数据的访问和修改方法。

2. 视图(View):视图是用户界面的呈现层,负责展示模型中的数据给用户。

它可以是图形界面、网页、命令行界面等。

视图负责将模型中的数据进行展示,并与用户进行交互。

视图可以接收用户的输入,例如点击按钮、输入文本等,然后将用户操作传递给控制器进行处理。

3. 控制器(Controller):控制器是模型和视图之间的桥梁,负责协调两者之间的交互。

控制器接收视图中用户的操作,然后根据操作调用相应的模型方法进行数据处理和更新。

控制器还可以根据模型的变化,更新视图的展示内容。

它控制着应用程序的流程和逻辑,并处理用户输入和业务逻辑,确保模型和视图的解耦和灵活性。

MVC的核心原理在于将应用程序分离为不同的功能模块,每个模块有明确的责任和功能,并通过定义清晰的接口进行交互。

这种分层架构可以提高应用程序的可维护性、可扩展性和复用性。

例如,当需要更改应用程序的视图时,无需修改模型和控制器的代码,只需修改视图部分即可。

同样,当需要更改业务逻辑时,只需修改控制器部分,而不会影响模型和视图。

总结:MVC模式通过将应用程序分为模型、视图和控制器三个部分,实现了用户界面和业务逻辑的分离。

模型负责处理数据和业务逻辑,视图负责展示数据给用户,控制器负责协调模型和视图的交互。

这种分层架构提高了应用程序的可维护性和可扩展性。

mvc的工作原理

mvc的工作原理

mvc的工作原理
MVC的工作原理是基于分层架构的思想,将应用程序分为三
个核心组件:模型(Model)、视图(View)和控制器(Controller)。

模型(Model)表示应用程序中的数据和业务逻辑。

它负责处
理数据的读取、存储和更新。

模型通常是一个类或一组类,用于封装与数据相关的操作和规则。

视图(View)是用户界面的可视化部分,负责展示数据给用户。

它只负责数据的显示,不处理数据的任何逻辑操作。

视图可以是一个HTML页面、一个UI界面、一个报表等。

控制器(Controller)是模型和视图之间的协调者,负责接收
来自用户的操作事件,并根据用户的输入来更新模型或视图。

它包含一些处理用户输入的方法,以及决策如何更新模型和视图的逻辑。

工作流程如下:当用户与应用程序交互时,控制器接收到用户的输入事件并相应地对模型进行更新操作。

模型更新后,控制器通知视图进行相应的更新,使用户看到最新的数据。

当用户再次与应用程序交互时,整个流程将重复。

MVC的工作原理能够有效地将应用程序的数据处理逻辑、用
户界面以及用户输入事件的处理分离开来,使代码更具可读性、可维护性和可扩展性。

这种分层架构使得开发人员可以独立地修改和测试模型、视图和控制器,而不会对其他组件产生影响。

(入门篇05)Intro to Applications with Sencha Touch 2

(入门篇05)Intro to Applications with Sencha Touch 2

Intro to Applications with Sencha Touch 2作者:一夕QQ:944281625本系列文章为翻译文章,翻译自API文档,也是入门级别的文章,请初学者仔细阅读,如果翻译有不妥的地方,请谅解,如果转载请注明作者及出处。

Sencha Touch 2旨在实现应用程序跨平台的高效开发。

为了尽可能简单的编写应用程序,ST2为我们提供了一个简单而功能强大的应用程序体系结构,即MVC。

在该体系结构下,使我们的代码简洁,可测试并且易于维护,还有诸多的好处:1.History Support:在你的应用程序中提供了一个完整的back按钮,可以链接到应用程序的任何部分。

2.Deep Linking:当我们分享deep links时,在屏幕上打开任何界面的时候,都像是链接到一个Web界面。

3.Device Profile:使用通用代码便可以让我们轻松的为手机或者平板电脑定制自己的UI。

Anatomy of an Application一个应用程序其实就是Models,Views,Controllers,Stores和Profiles的集合,只不过附加了一些特殊的元素,例如程序的图标或者加载图片等等。

Model:在应用程序中代表了一个对象类型,简单理解便是数据模型。

View:利用Sencha Touch内部组件,负责向用户显示数据,简单解释便是视图。

Controller:处理应用程序的交互,监听事件并作出响应,简单理解就是控制器。

Store:负责将数据加载到我们的应用程序当中。

Profile:为的是在尽可能多的通用代码下,为手机和平板电脑定制UI。

简单理解就是配置文件,如果是手机应该加载怎样的UI,平板电脑则加载什么样的UI。

通常我们在Sencha Touch的应用程序中都会这样编写application:那么我们就对以上代码进行简单分析:name:便是我们定义的命名空间,我们的所有代码都在该空间下编写,类似Java中的顶级包名。

mvc三大框架的原理

mvc三大框架的原理

mvc三大框架的原理MVC是一种软件设计模式,它将应用程序分为三个部分:模型、视图和控制器。

这三部分分别负责处理应用程序的数据、展示和逻辑。

目前在web开发中常用的MVC框架主要有三个:SpringMVC、Struts2和 MVC。

SpringMVC是一个基于Spring框架的MVC框架。

它提供了一个DispatcherServlet来拦截请求,并根据请求中的信息决定交给哪个控制器处理。

控制器处理完后,将返回一个ModelAndView对象给DispatcherServlet,该对象包含数据和View的名称。

DispatcherServlet通过ViewResolver来找到对应的View并返回给客户端。

Struts2是一个基于Struts1的MVC框架。

它采用拦截器机制来处理请求,每个请求都被封装成一个Action对象。

Action对象负责处理请求并返回结果,结果包含数据和View的名称。

Struts2通过Result来找到对应的View并返回给客户端。

MVC是一个基于.NET框架的MVC框架。

它通过Routing 来映射请求到相应的Action。

Action负责处理请求并返回结果,结果包含数据和View的名称。

MVC通过ViewEngine来找到对应的View并返回给客户端。

总的来说,这三个框架都采用了MVC模式,但实现方式略有不同。

SpringMVC和Struts2都是基于Java的,而 MVC则是基于.NET 的。

同时,它们都提供了一套完整的开发框架,包括处理请求的路由、拦截器、数据绑定、表单校验、视图渲染等功能,大大简化了开发者的工作。

senchatouch基础,解析app.js

senchatouch基础,解析app.js

senchatouch基础,解析app.js//<debug>Ext.Loader.setPath({'Ext': '../sencha/src',//指定在开发阶段将EXT命名空间与应用程序的根目录下sdk文件夹中src子文件夹之间建立一一对应的关系.建立该映射关系之后,Ext 命名空间下的各级子命名空间,将于sdk文件夹下各级子文件夹之间自动建立映射关系.当加载某个类时,将自动从与该类所在命名空间具有映射关系的子文件夹中读取与该类同名的JavaScript脚本文件.例如:Ext.form命名空间将于src文件夹下的form文件夹建立对应关系。

加载Ext.Form.Panel类时,读取form子文件夹下Panel.js脚本文件。

'Oreilly': 'app'//在创建MVC模式应用程序时,sencha Touch将自动在Oreilly命名空间与Oreilly文件夹下的app子文件夹之间建立一一对应的关系。

});//</debug>Ext.require('Oreilly.panels.bookPanel');//添加js文件,这个文件就是你在app下建立了一个panels文件夹,里面有一个叫做bookPanel.js的文件,'Oreilly.panels.bookPanel'是bookPanel.js文件的命名空间。

Ext.application({name:'Oreilly',icon:'resources/icons/***********',glossOnIcon:true,phoneStartupScreen:'images/phone_startup.png',phoneStartupScreen:'images/tablet_startup.png',launch:function(){//data数据var bookData=[{id:1,image_url:'images/sencha.png',book_name:'html 5 与css 3权威指南',author:'罗晓丽',descript:'这本书描述了css3 与html5之间的关系,这本书描述了css3 与html5之间的关系,这本书描述了css3 与html5之间的关系,这本书描述了css3 与html5之间的关系,这本书描述了css3 与html5之间的关系,这本书描述了css3 与html5之间的关系,这本书描述了css3 与html5之间的关系,这本书描述了css3 与html5之间的关系,这本书描述了css3 与html5之间的关系,这本书描述了css3 与html5之间的关系'},{id:2,image_url:'images/phone1.png',book_name:'sencha Touch 学习与指导',author:'小利落',descript:'认真研究这本书你将有很大收获,认真研究这本书你将有很大收获,认真研究这本书你将有很大收获,认真研究这本书你将有很大收获,认真研究这本书你将有很大收获,认真研究这本书你将有很大收获,认真研究这本书你将有很大收获,认真研究这本书你将有很大收获,认真研究这本书你将有很大收获,认真研究这本书你将有很大收获,认真研究这本书你将有很大收获,认真研究这本书你将有很大收获,认真研究这本书你将有很大收获,认真研究这本书你将有很大收获.'}];//添加自定义的bookPanel面板组件var bookPanel=new Oreilly.panels.bookPanel({data:bookData[0]});//添加到Viewport中Ext.Viewport.add(bookPanel); }});。

MVC介绍

MVC介绍

模型-视图-控制器(MVC)是80年代Smalltalk-80出现的一种软件设计模式,现在已经被广泛的使用。

1、模型(Model)模型是应用程序的主体部分。

模型表示业务数据,或者业务逻辑.2、视图(View)视图是应用程序中用户界面相关的部分,是用户看到并与之交互的界面。

3、控制器(controller)控制器工作就是根据用户的输入,控制用户界面数据显示和更新model对象状态。

示意图如下:MV C模式是"Mod el-Vi ew-Con troller"的缩写,中文翻译为"模式-视图-控制器"。

MVC应用程序总是由这三个部分组成。

E ven t(事件)导致Co nt rolle r改变Mo d el或Vie w,或者同时改变两者。

只要Co nt rolle r改变了Mo dels的数据或者属性,所有依赖的Vie w都会自动更新。

类似的,只要Con trolle r改变了Vi ew,Vie w 会从潜在的Mod el中获取数据来刷新自己。

MV C模式最早是s malltal k语言研究团提出的,应用于用户交互应用程序中。

small tal k语言和ja va语言有很多相似性,都是面向对象语言,很自然的S U N在pets to re(宠物店)事例应用程序中就推荐MV C模式作为开发W eb应用的架构模式。

MV C模式是一种架构模式,其实需要其他模式协作完成。

在J2EE模式目录中,通常采用se rvice to wo rke r模式实现,而se rvice to wo rke r模式可由集中控制器模式,派遣器模式和Pag e H elpe r模式组成。

而St ru ts只实现了MV C的Vie w和C ont rolle r两个部分,Model部分需要开发者自己来实现,St ru ts提供了抽象类Actio n使开发者能将Model应用于S tru ts框架中。

sencha touch 入门 基础教程 介绍及用法

sencha touch 入门 基础教程 介绍及用法

数据存储(Store)
Store:是一个模型实例的集合,并且可以进行排序、分组 、过滤及一些事件 -model:指明该Store所使用模型 -data:数据集合(json) -proxy:通过代理加载远程数据
Sencha touch1.x+Adapter2
实现
手机客户端 *.html,*.js
中间件
目标服务器
JSONP跨域请求
JSONP: JSON with padding,是一种跨域请求的解决方案, 使页面在不同域中的服务器请求数据用法模式的一种补充 示例: <script type="text/javascript" src="/RetrieveUser?UserI d=1234&jsonp=parseResponse"> </script> 服务器 parseResponse({"Name": "Foo", "Id" : 1234, "Rank": 7})
MVC
MVC in Sencha Touch
Models: -管理应用程序的数据 -提供数据 Views: -用户交互界面 Controllers: -接收输入,指示model和view
MVC
Ext.Application
实例化一个新的应用程序时,会使用配置中的name属性自 劢创建一个全局变量,幵为views、stores、controllers 、models建立命名空间

Android Webkit Browser
Sencha Touch
自包含库 Javascript语言 独立的MVC应用 支持浏览器 iOS (iPhone/iPad) Android BlackBerry v6 & QNX Bada, MeeGo & other WebKit Windows Phone 7* /touch • • • •

mvc的工作原理

mvc的工作原理

mvc的工作原理MVC是一种软件设计模式,常用于设计Web应用程序。

MVC模式将应用程序分为三个主要组件:模型、视图和控制器。

每个组件都有自己的专用任务和责任。

模型组件负责应用程序的数据和业务逻辑。

视图组件负责应用程序的用户界面。

控制器组件充当模型和视图之间的桥梁,负责将用户操作传递给模型,并更新视图以反映模型的变化。

在这篇文章中,我们将深入探讨MVC模式的工作原理。

让我们了解一下MVC模式的三个主要组件:1. 模型(Model):模型是应用程序的核心组件,负责管理应用程序的数据和业务逻辑。

模型通常包含操作数据的方法和函数,以及执行业务逻辑的代码。

模型可以随时更改数据,并通知控制器组件。

2. 视图(View):视图是应用程序用户界面的组成部分。

视图通常由HTML、CSS和JavaScript文件组成,并呈现给用户的是页面、表单、按钮等等。

视图只提供给用户使用,它不应该执行任何操作或修改应用程序数据。

3. 控制器(Controller):控制器是MVC模式中最重要的组件之一,它充当模型和视图之间的桥梁。

控制器接收用户的操作,使用模型操作数据并负责更新视图。

控制器也可以接收来自模型的通知,以响应数据变化。

下面是MVC模式的工作原理:1. 用户采取操作:当用户在视图中执行某个操作时,如点击按钮或提交表单,视图组件就会将该操作传递给控制器组件。

2. 控制器响应操作:控制器接收用户的操作,根据操作的类型调用相应的模型方法或函数进行处理。

3. 模型更新数据:模型根据控制器的调用更新应用程序的数据,并通知控制器有关更新的信息。

4. 控制器更新视图:控制器负责更新视图以反映模型的变化。

5. 视图呈现新内容:视图使用新的数据呈现应用程序的用户界面。

MVC模式的优点:1. 分离关注点:MVC模式将应用程序的组件分为模型、视图和控制器,使应用程序更易于维护。

2. 更改灵活:由于模型和视图相互独立,所以可以更轻松地更改应用程序的用户界面,而不影响应用程序的功能。

pringmvc工作流程

pringmvc工作流程

pringmvc工作流程Spring MVC(Model-View-Controller)是基于Java的开发框架,用于构建Web应用程序。

下面是Spring MVC的基本工作流程:请求的到达:用户发送HTTP请求到达前端控制器(DispatcherServlet)。

前端控制器接收请求: DispatcherServlet 接收到所有的请求,是整个Spring MVC的中央控制器。

处理器映射器(Handler Mapping): DispatcherServlet 调用处理器映射器,通过它找到请求对应的处理器(Controller)。

处理器执行:处理器映射器找到对应的处理器后,DispatcherServlet 将请求发送给该处理器。

处理器执行:处理器执行业务逻辑,处理请求,并返回一个ModelAndView 对象。

模型和视图解析器: ModelAndView 包含了处理结果的模型数据和一个视图名。

DispatcherServlet 调用视图解析器(View Resolver)解析视图名,获取具体的视图对象。

视图渲染:视图解析器找到具体的视图对象后,DispatcherServlet 将模型数据传递给视图,视图根据模型数据生成最终的HTML内容。

响应返回: DispatcherServlet 将生成的HTML内容返回给客户端,完成请求-响应周期。

这是一个典型的Spring MVC请求处理流程。

在整个过程中,前端控制器(DispatcherServlet)、处理器映射器(Handler Mapping)、处理器(Controller)、视图解析器(View Resolver)等都是通过配置文件(通常是XML配置文件或Java配置类)进行配置的,从而实现灵活的配置和扩展。

总体而言,Spring MVC遵循了经典的MVC设计模式,将应用程序分为模型、视图和控制器,并通过前端控制器来协调它们之间的交互,实现了解耦和可维护性。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

前言:读英文文档总是很难的,非母语且专业化的长篇大论容易令人气馁和浮躁,从而导致学习效率低下。

翻译是一个好方法,把学习的需求转变成翻译的任务,强迫自己不仅要看进去、看得懂,而且还要字斟句酌,然后清晰明了的表达出来,这种在翻译中学习的成果无疑是最牢固的,最后你的译文还可以帮助别人。

这篇文章的英文原址是/touch/2-0/#!/guide/apps_intro原文标题是:Intro to Applications with Sencha Touch 2(Sencha Touch 2应用程序简介)。

有意思的是,官方文档目录中给它的说明是All about Applications(关于应用程序的一切), 仔细读来你会发现这篇文章其实是Sencha Touch MVC的总纲,对于理解Sencha Touch的MVC模式意义重大,不得不读,所以我把它作为此系列翻译的第一篇文章。

鉴于本人水平有限,翻译不当乃至谬误之处在所难免,还望大家不吝赐教。

这篇原创翻译首先发布在自己的博客上,后续更新也都会在第一时间发布上去,敬请关注。

另外我还建了一个QQ群(群号213119459)以方便Sencha Touch爱好者交流,欢迎您的加入。

译文原地址:/dowinning/archive/2012/02/14/2350303.htmlIntro to Applications with Sencha Touch 2 Sencha Touch 2应用程序简介注:为方便起见,文中所有出现 Sencha Touch 的地方均以 ST 简写替代。

Sencha Touch 2 is optimized around building applications that work across multiple platforms. To make the writing of applications as simple as possible, we provide a simple but powerful application architecture that leverages the MVC (Model View Controller) pattern. This approach keeps your code clean, testable and easy to maintain, and provides you with a number of benefits when it comes to writing your apps:ST2 专为构建可跨多平台工作的(web)应用程序而优化。

为尽可能的方便您编写应用程序,我们提供了一个虽简单但却强大的应用程序架构,它可以视作是对MVC(Model/模型、View/视图、Controller/控制器)模式的扩充。

使用这种模式编写应用程序,不仅可以保证你的代码干净、便于测试、容易维护,还能得到如下好处:∙History Support: full back button support inside your app, and any part of your app can be linked to访问历史支持:你的应用将获得完整的后退按钮功能,其中的任意部分都可以被链接到∙Deep Linking: share deep links that open any screen in your app, just like linking to a web page深度链接:如同以往链接到某一个web页面一样,深度链接可以打开你应用程序中的任意屏幕∙Device Profiles: easily customize your application's UI for phones, tablets and other devices while sharing all of the common code设备配置文件:共享通用代码的同时,轻松为手机、平板电脑还有其他设备定制应用程序UI(用户界面)Anatomy of an Application应用程序结构解析An Application is a collection of Models, Views, Controllers, Stores and Profiles, plus some additional metadata specifying things like application icons and launch screen images.ST 应用程序是一个由 Model、View、Controller、Store、Profile 组成的集合,外加一些额外指定的元数据,比如 icon 图标和启动界面显示的图片。

∙Models: represent a type of object in your app - for example an e-commerce app might have models for Users, Products and Orders数据模型:在应用程序中表示一种数据模型,比如一个电子商务应用程序可能会有用户、产品、订单等不同的数据模型∙Views: are responsible for displaying data to your users and leverage the built in Components in Sencha Touch视图:负责将数据展示给用户,并扩充Sencha Touch 的内置组件。

(译者注:你可以理解为用户界面的一个个组成部分)∙Controllers: handle interaction with your application, listening for user taps and swipes and taking action accordingly控制器:处理应用程序的交互,侦听用户的轻触、猛击(译者注:真实意思是长按?)等事件并做出相应的响应∙Stores: are responsible for loading data into your app and power Components like Lists and DataViews数据存储器:负责把数据加载到你的应用并以列表(List)或者数据视图(DataView)等形式表现出来∙Profiles: enable you to easily customize your app's UI for tablets and phones while sharing as much code as possible设备配置:可以使你为平板电脑和手机等不同设备,轻易定制应用程序用户界面,并尽可能多的共享代码The Application is usually the first thing you define in a Sencha Touch application, and looks something like this:Application 对象通常是你开发一个ST应用时需要定义的第一个东西,类似下面这样子:Ext.application({name: 'MyApp',models: ['User', 'Product', 'nested.Order'],views: ['OrderList', 'OrderDetail', 'Main'],controllers: ['Orders'],launch: function() {Ext.create('MyApp.view.Main');}});The name is used to create a single global namespace for your entire application, including all of its models, views, controllers and other classes. For example, an app called MyApp should have its constituent classes follow thepattern er, ers,MyApp.view.Main etc. This keeps your entire app under a single global variable so minimizes the chance of other code on the page conflicting with it.如代码所示,application 构造参数中有个 name属性,它为你的应用程序创建一个唯一命名空间,其下包含了该应用全部的 model、view、controller 还有其他 class(类),比如一个叫做 MyApp 的应用就应该遵循以下形式来组织:er, ers, MyApp.view.Main 等,这可以保证你整个的应用程序都处在一个唯一全局变量下,从而最大限度降低代码冲突的可能性。

The Application uses the defined models, views and controllers configurations to automatically load those classes into your app. These follow a simple file structure convention - models are expected to be in the app/model directory, controllers in the app/controller directory and views inside the app/view directory - forexample app/model/User.js, app/controllers/Orders.js and app/view/Main.js.应用程序会按照你在application 构造函数中定义好的models, views和controllers属性成员来自动加载它们对应的class(类)到当前应用,ST2 架构约定的文件结构如下:model 都放在app/model 目录,controller 都放在app/controller 目录,view 则放在app/view 目录,比如app/model/User.js, app/controller/Orders.js, app/view/Main.js(译者注:原文中Orders.js 文件的路径是错的,model、view、controller 这三个目录名称都没有s )Note that one of the models we specified was different to the others - we specified the full class name ("MyApp.model.nested.Order"). We're able to specify the full class name for any of those configurations if we don't follow the normal naming conventions. See the Dependencies section of the Ext.app.Application docs for full details on how to specify custom dependencies.注意models属性中有一个成员的定义跟其他不一样,("MyApp.model.nested.Order"),除了遵循上述的常规命名格式以外,我们还可以使用完整类名的方式来定义这些配置,换言之 application 构造函数中的models、views、controllers 这些参数属性都可以用完整类名方式来定义,想了解更多关于如何定义依赖项的细节,请参见文章Dependencies section of the Ext.app.Application docs ( Ext.app.Application 文档中的 Dependencies 章节)Controllers控制器Controllers are the glue the binds an application together. They listen for events fired by the UI and then take some action on it. This helps to keep our code clean and readable, and separates the view logic from the control logic.Controller(控制器)就像胶水一样粘合出一个完整的应用程序,它们侦听UI界面触发的事件,然后做出相应的动作,还能够让我们的代码更简洁,可读性好,从而把界面逻辑和控制逻辑隔离开来。

相关文档
最新文档