应用架构简介

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. ThinkPhp框架:父类及表单验证

    这个知识点,就可以通过"登录"和"注册"的页面来学习这个知识点了首先先做一个"登录"功能一.登录功能(父类)(1)登录的控制器在我的控制器文 ...

  2. Python全栈开发——Linux命令学习

    Linux -- 一切皆文件 pwd: 查看当前所在目录 '/' :根目录 cd : 切换目录   eg.cd /    切换到根目录 ls:查看当前根目录下有几块盘.几个文件 ls -l:查看详细信 ...

  3. react.js 获取真实的DOM节点

    为了获取真实的dom节点,文本输入框必须有一个 ref 属性,然后 this.refs.[refName] 就会返回这个真实的 DOM 节点. var MyComponent = React.crea ...

  4. sys模块和Python常用的内建函数

    1.sys模块 当Python执行import sys语句的时候,它在sys.path变量中所列目录中寻找sys.py模块.如果找到了这个文件,这个模块的主块中的语句将被运行,然后这个模块将能够被使用 ...

  5. Weexpack 使用教程

    简介 weexpack 是 weex 新一代的工程开发套件,是基于weex快速搭建应用原型的利器.它能够帮助开发者通过命令行创建weex工程,添加相应平台的weex app模版,并基于模版从本地.Gi ...

  6. 联想A7600-m刷机心得

    先来说说刷机 联想A7600-m的刷机

  7. django进阶-3

    先看效果图: 登陆admin后的界面: 查看作者: 当然你也可以定制admin, 使界面更牛逼 数据库表结构: app01/models.py from django.db import models ...

  8. java学习笔记 --- 面向对象3

    一.创建对象是做了些什么事情? 图解: 二.static关键字 (1)静态的意思.可以修饰成员变量和成员方法. (2)静态的特点: 1.静态是随着类的加载就加载了.也是随着类的消失而消失了. 2.静态 ...

  9. calling c++ from golang with swig--windows dll 二

    Name mangling && Name demangling 在讲述golang如何利用swig调用windows dll之前,需要了解一个概念:Name Mangling (或者 ...

  10. 解决Highcharts 5.0.7,IE8下bar类型图表无法显示的问题

    引用如上, 当图标类型为bar时,IE8无法直接显示, 官网也一样, 但通过切换图例可以显示, 所以加入以下代码解决此问题 未经允许,严禁转载!!!