六种最关键的架构模式

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

六种最关键的架构模式

文章插图
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上 , 需要模块化、可测试性和清晰度 。




    推荐阅读