六种最关键的架构模式

2024年 1月 5日 35.9k 0

有许多广泛使用的架构模式。然而,其中六种非常常见且关键,这并非偶然。以下是这些模式,为什么你应该使用它们,以及何时使用它们。

1.模型-视图-控制器(MVC)

这是最早采用并广泛使用的架构模式之一。其主要目标是将应用程序的数据、用户界面和控制逻辑分离为三个相互连接的组件。模型管理数据和逻辑,视图显示信息,控制器连接模型和视图,处理用户输入。使用场景:
适用于具有明确数据处理和UI分离的Web应用程序。

2.模型-视图-Presenter(MVP)

这种模式从MVC演变而来,旨在通过将视图与模型解耦,通过Presenter充当中间人来解决MVC在事件驱动环境中的缺点。模型管理数据,视图显示数据并将用户命令发送给Presenter,而Presenter从模型检索数据并将其呈现给视图。使用场景:
侧重于测试和UI逻辑的应用程序,如Android应用程序。

3.模型-视图-Intent(MVI)

这是一种采用单向数据流的响应式架构,确保在给定状态下,UI保持一致。模型表示状态,视图反映视图状态,而意图表示更改状态的用户交互。广泛用于具有状态一致性关注的Reactive应用程序或框架,如使用RxJava的应用程序。

4.模型-视图-ViewModel(MVVM)

MVVM出现是为了解决UI开发中的复杂性,提倡采用一种无需了解UI组件的ViewModel处理视图逻辑的方法。在这种情况下,模型管理和显示数据,而ViewModel保存和包含与UI相关的数据。这个模型非常适用于UI丰富的应用程序或具有数据绑定的平台,如使用LiveData的WPF或Android。

5.模型-视图-ViewModel-Coordinator(MVVM-C)

在MVVM的基础上引入Coordinator来处理导航,将其与View和ViewModel解耦。这个模型非常适用于较大的应用程序,特别是在IOS上,复杂的导航需要与视图逻辑分离。

6.View-Interactor-Presenter-Entity-Router(VIPER)

这是一种类似于Clean
architecture的模块化架构。它强调可测试性和单一职责原则,通过将应用程序逻辑分解为不同的组件。在这个模型中,视图显示参数发送的内容,互动器包含每个用例的业务逻辑。Presenter包含准备内容的视图逻辑,实体包含主要模型对象,路由器包含导航逻辑。这个模型非常适用于复杂的应用程序,特别是在IOS上,需要模块化、可测试性和清晰度。

相关文章

JavaScript2024新功能:Object.groupBy、正则表达式v标志
PHP trim 函数对多字节字符的使用和限制
新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
为React 19做准备:WordPress 6.6用户指南
如何删除WordPress中的所有评论

发布评论