MVC、MVP、MVI、MVVM、MVVM-C和VIPER等

以下是最重要的架构模式列表:

1、MVC(Model-View-Controller):

它是最早被采用的设计模式之一。其主要目标是将应用程序的数据、用户界面和控制逻辑分离成三个相互关联的组件。

在这里,模型Model管理数据和逻辑,视图View显示信息,控制器Controller连接模型和视图,处理用户输入。

适用于数据处理与用户界面明确分离的Web应用程序。

2、MVP(Model-View-Presenter):

该模式由 MVC 演化而来,旨在通过将视图View与模型Model解耦,解决 MVC 在事件驱动环境中的缺陷,而Presenter则充当中间人。

在这里,模型管理数据、视图显示数据,并向Presenter发送用户命令,而Presenter则从模型中检索数据并将其呈现给视图。

用途:强调测试和用户界面逻辑的应用程序,如 Android 应用程序。

3、MVC(Model-View-Intent):

MVI 是一种反应式架构,支持单向数据流,确保给定状态下的用户界面保持一致。

在这里,模型代表状态,视图反映状态,而意图Intent则代表改变状态的用户操作。

用途:注重状态一致性的反应式应用程序或 RxJava 等框架。

4、MVVM(Model-View-ViewModel):

MVVM 的出现是为了解决用户界面开发中的复杂问题,它提倡一种解耦方法,即由 ViewModel 处理视图逻辑,而无需了解用户界面组件。

在这里,Model 管理并显示数据,而 ViewModel 保存并包含与 UI 相关的数据。

用途:用户界面丰富的应用程序或具有数据绑定功能的平台,如 WPF 或具有 LiveData 功能的 Android。

5、MVVM-C(MVVM协调器):

MVVM-C 建立在 MVVM 的基础上,引入了 Coordinator 来处理导航,并将其与 View 和 ViewModel 解耦。

用途:大型应用程序,尤其是 iOS,其中复杂的导航需要与视图逻辑分离。

6、VIPER(View-Interactor-Presenter-Entity-Router):

VIPER 是一种类似于 Clean架构 的模块化架构。它强调可测试性和单一责任原则,将应用逻辑分解为不同的组件。

在这里,视图显示演示者Presenter发送的内容,交互者包含每个用例的业务逻辑,演示者Presenter包含准备内容的视图逻辑,实体包含主模型对象,路由器包含导航逻辑。

https://www.jdon.com/69576.html

相关推荐
xhxxx29 分钟前
《深入理解 JavaScript 对象:属性命名、访问与遍历的那些细节》
前端·javascript
mm-q291522272941 分钟前
云原生开发实战:从入门到精通 Vue3、Vite、Pinia、Axios 与 HTML、JavaScript、CSS 项目开发
javascript·云原生·html
JohnYan1 小时前
Bun技术评估 - 30 SSE支持
javascript·后端·bun
yzx9910131 小时前
一个嵌入式存储芯片质量评估系统的网页界面设计
开发语言·javascript·ecmascript
fruge1 小时前
前端可视化家庭账单:用 ECharts 实现支出统计与趋势分析
前端·javascript·echarts
荔枝吖2 小时前
html2canvas+pdfjs 打印html
前端·javascript·html
起名时在学Aiifox3 小时前
深入解析 Electron 打包中的 EPERM: operation not permitted 错误
前端·javascript·electron
hachi03133 小时前
Vue中input disabled时点击事件不触发怎么办?
javascript·vue.js·ecmascript
漫天黄叶远飞3 小时前
别再把对象当“字典”!JS 零基础也能看懂的“属性账本”拆解笔记
javascript
起名时在学Aiifox3 小时前
Vue3 + Element Plus 表格排序实战:基于状态字段的智能排序方案
前端·javascript·vue.js·element plus