当前位置: 首页 > 文档资料 > ExtJS 入门教程 >

架构(Architecture)

优质
小牛编辑
125浏览
2023-12-01

Ext JS遵循MVC/MVVM架构。

MVC - 模型视图控制器架构(版本4)

MVVM - 模型视图视图模型(版本5)

此体系结构对于程序不是必需的,但是,遵循此结构以使代码具有高度可维护性和组织性是最佳实践。

Ext JS App的项目结构

----------src
----------resources
-------------------CSS files
-------------------Images
----------JavaScript
--------------------App Folder
-------------------------------Controller
------------------------------------Contoller.js
-------------------------------Model
------------------------------------Model.js
-------------------------------Store
------------------------------------Store.js
-------------------------------View
------------------------------------View.js
-------------------------------Utils
------------------------------------Utils.js
--------------------------------app.js
-----------HTML files

Ext JS app文件夹将驻留在项目的JavaScript文件夹中。

该应用程序将包含app.js的控制器,视图,模型,存储和实用程序文件。

app.js - 程序流程开始的主文件,应使用“script”标记包含在主HTML文件中。 应用程序调用应用程序的控制器以执行其余功能。

Controller.js - 它是Ext JS MVC架构的控制器文件。 它包含应用程序的所有控件,事件侦听器以及代码的大部分功能。 它具有为该应用程序中使用的所有其他文件定义的路径,例如store,view,model,require,mixins。

View.js - 它包含应用程序的界面部分,它向用户显示。 Ext JS使用各种UI丰富的视图,可以根据需要在这里进行扩展和自定义。

Store.js - 它包含本地缓存的数据,这些数据将在模型对象的帮助下在视图上呈现。 存储使用代理获取数据,代理具有为服务定义的路径以获取后端数据。

Model.js - 它包含将商店数据绑定到视图的对象。 它具有后端数据对象到视图dataIndex的映射。 在商店的帮助下获取数据。

Utils.js - 它不包含在MVC体系结构中,但是用于使代码清洁,不太复杂和可读性的最佳实践。 我们可以在此文件中编写方法,并在需要时在控制器或视图渲染器中调用它们。 它也有助于代码可重用性。

在MVVM架构中,控制器由ViewModel取代。

ViewModel - 它基本上调解了视图和模型之间的变化。 它将数据从模型绑定到视图。 同时,它与视图没有任何直接的交互。 它只有模型的知识。

它是如何运作的 (How It Works)

例如,如果我们在U​​I中的两到三个位置使用一个模型对象。 如果我们在U​​I的某个位置更改值,我们可以看到甚至没有保存该更改。 无论模型在何处使用,模型值的变化都会反映在UI中的所有位置。

它使开发人员的工作量更小,更容易,因为不需要额外的编码来绑定数据。