六种最关键的架构模式

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

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

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

责任编辑:赵宁宁 来源: 小技术君
相关推荐

2019-08-02 08:50:47

API架构微服务

2022-06-14 11:01:37

架构模式开发

2016-01-15 17:36:29

云计算云应用

2012-10-15 13:26:31

云计算架构

2017-10-20 11:07:45

编程代码编程模式

2022-09-21 10:05:09

架构模式

2020-06-28 10:15:39

架构模式软件

2017-09-14 09:30:38

软件架构模式

2023-09-06 11:35:11

2023-09-05 09:54:28

服务器网络

2022-07-27 20:37:45

主流企业架构

2024-06-04 00:00:04

2024-09-02 10:07:52

2024-06-25 13:02:25

2024-03-26 13:35:19

模型架构框架

2015-07-28 13:45:14

大数据商业商业模式

2017-03-10 17:00:28

编程语言

2020-12-29 19:15:04

架构模式代码分布式

2010-04-14 10:18:39

Linux init

2023-06-16 13:34:00

软件架构模式
点赞
收藏

51CTO技术栈公众号