Ext.js - 架构

Ext JS 遵循 MVC/MVVM 架构。

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

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

此架构对于程序而言并非强制性的,但是,遵循此结构是最佳做法,可使您的代码高度可维护且井井有条。

带有 Ext JS 应用程序的项目结构

----------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 将包含控制器、视图、模型、存储和带有 app.js 的实用程序文件。

app.js − 程序流程将从其开始的主文件,应使用 <script> 标签将其包含在主 HTML 文件中。App 调用应用程序的控制器来实现其余功能。

Controller.js − 它是 Ext JS MVC 架构的控制器文件。它包含应用程序的所有控件、事件侦听器以及代码的大部分功能。它为该应用程序中使用的所有其他文件(如存储、视图、模型、require、mixins)定义了路径。

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

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

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

Utils.js − 它不包含在 MVC 架构中,但是一种最佳实践,可以使代码更简洁、更简单、更易读。我们可以在这个文件中编写方法,并在需要时在控制器或视图渲染器中调用它们。这对于代码可重用性也很有用。

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

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

工作原理

例如,如果我们在 UI 中的两三个地方使用一个模型对象。如果我们在 UI 的一个地方更改值,我们甚至不需要保存该更改就可以看到。模型的值会发生变化,因此会反映在 UI 中的所有位置,无论模型在哪里使用。

它使开发人员的工作量大大减少和轻松,因为绑定数据不需要额外的编码。