应用架构简介

Extjs 同时提供对于MVC和MVVM应用架构的支持。这两个架构方式共享某些概念,而且都旨在沿着逻辑层面划分应用程序代码。每种方法在选择如何划分应用组件上都有其各自的优势。

本指南的目标是为您提供构成这些架构的组件的基础知识。

什么是 MVC?

在 MVC 架构中, 大部分 类 不是 模型(Models)、视图(Views) 就是 控制器(Controllers). 用户和视图(Views)交互, 视图(Views)展示模型(Models)中的数据. 这些交互是由一个控制器(Controllers)监控, 然后按需更新模型(Models)和视图(Views)来响应交互.

视图(View)和模型(Model) 一般不做交互,因为控制器(Controllers) 是唯一有责任管理更新的. 一般来说, 在一个 MVC 应用程序中,控制器(Controllers) 包含着应用程序的大部分逻辑. 理想状态下视图(Views)基本没有业务逻辑. 模型(Models) 主要是一个数据接口,只包含与上述数据有关的业务逻辑.

MVC 的目标是让个各类分工明确. 在大的环境中,只有每个类都有自己的职责了, 它们才会低耦合. 这可以方便应用程序的测试和维护, 而且代码也可以复用.

什么是 MVVM?

MVC 和 MVVM 的关键区别是,MVVM 重点突出一个名为 视图控制器(ViewModel) 的抽象概念. 视图控制器(ViewModel) 通过“数据绑定(data binding)” 技术来协调模型(Model)的数据 和 视图(View)的数据展现之间的变化.

结果是,模型(Model)和框架完成尽可能多的工作, 最大限度地减少或消除能够直接操纵视图的应用程序逻辑.

未完待续。。。

Extjs6官方文档译文——应用架构简介(MVC,MVVM)的更多相关文章

  1. reactor官方文档译文(1)Reactor简介

    原文地址:http://projectreactor.io/docs/reference/ Reactor简介 Reactor是一个基础库,用在构建实时数据流应用.要求有容错和低延迟至毫秒.纳秒.皮秒 ...

  2. 10分钟了解 pandas - pandas官方文档译文 [原创]

    10 Minutes to pandas 英文原文:https://pandas.pydata.org/pandas-docs/stable/10min.html 版本:pandas 0.23.4 采 ...

  3. App开发架构指南(谷歌官方文档译文)

    这篇文章面向的是已经掌握app开发基本知识,想知道如何开发健壮app的读者. 注:本指南假设读者对 Android Framework 已经很熟悉.如果你还是app开发的新手,请查看 Getting ...

  4. NHibernate官方文档中文版-框架架构(Architecture)

    总体概览 一个非常高层次的NHibernate架构: 这个图展示了NHibernate使用数据库和配置信息来为应用程序提供持久化服务(和持久化对象). 我们想展示一个更加详细的运行时架构.但是NHib ...

  5. Daphile 安装手册 -- 官方文档译文 [原创]

    Daphile 安装手册(Daphile Installation) 英文原文:https://www.daphile.com/download/DaphileInstallation.pdf 采集日 ...

  6. PEP 324 subprocess 新的进程模块 -- Python官方文档译文 [原创]

    PEP 324 -- subprocess 新的进程模块(subprocess - New process module) 英文原文:https://www.python.org/dev/peps/p ...

  7. iOS·官方文档译文框架源码注解

    导语

  8. Apple官方文档译文GitHub框架源码注解

    引导

  9. reactor官方文档译文(2)Reactor-core模块

    You should never do your asynchronous work alone. — Jon Brisbin 完成Reactor 1后写到 You should never do y ...

随机推荐

  1. apicloud下拉刷新

    //下拉 apiready = function () { var param = {}; toDoRequest(); param.loadingImgae = 'widget://image/re ...

  2. jQuery的动态绑定事件的应用

    注意:bind()的事件绑定是只对当前页面选中的元素有效.如果你想对动态创建的元素bind()事件,是没有办法达到效果的 <script src="jquery-1.11.2.min. ...

  3. 浅谈Java的集合体系

    集合体系框架图 集合接口 Java集合类库将接口(interface)与实现(implementation)分离,如上图,Set是一个集合接口,而HashSet与TreeSet都是实现了Set接口的子 ...

  4. ios录音Demo

    <AudioToolbox/AudioToolbox.h> :这个库是C的接口,偏向于底层,主要用于在线流媒体的播放 <AVFoundation/AVFoundation.h> ...

  5. Android 一个改善的okHttp封装库

    膜拜一下~ 转载请标明出处: http://blog.csdn.net/lmj623565791/article/details/49734867: 本文出自:[张鸿洋的博客] 一.概述 之前写了篇A ...

  6. RabbitMQ-从基础到实战(2)— 防止消息丢失

    转载请注明出处 1.简介 RabbitMQ中,消息丢失可以简单的分为两种:客户端丢失和服务端丢失.针对这两种消息丢失,RabbitMQ都给出了相应的解决方案. 2.防止客户端丢失消息 如图,生产者P向 ...

  7. Exchange 2016 体系结构

    Exchange Server 2016 使用一个构建基块体系结构,提供电子邮件服务,以便在各种规模的组织(从小型组织到最大规模的跨国企业)进行部署.这种体系结构如下图所示.包含两个角色,邮箱服务器角 ...

  8. UWP Composition API - New FlexGrid 锁定行列

    如果之前看了 UWP Jenkins + NuGet + MSBuild 手把手教你做自动UWP Build 和 App store包 这篇的童鞋,针对VS2017,需要对应更新一下配置,需要的童鞋点 ...

  9. FastDFS分布文件系统相关资料索引

    FastDFS是为互联网应用量身定做的一套分布式文件存储系统,非常适合用来存储用户图片.视频.文档等文件.对于互联网应用,和其他分布式文件系统相比,优势非常明显.具体情况大家可以看相关的介绍文档,包括 ...

  10. SBT使用阿里云Maven仓库,解决SBT下载依赖慢。

    添加:~/.sbt/repositories 文件 文件内容: [repositories] local my-maven-repo: http://maven.aliyun.com/nexus/co ...