ByteByteGo整理的五种常见的软件架构设计模式:MVC、MVP、MVVM、MVVM-C 和 VIPER
MVC(Model-View-Controller):包含三个组件——模型(Model)、视图(View)和控制器(Controller)。
特点:控制器承担了大部分业务逻辑,将视图和模型解耦,但在复杂应用中控制器可能会变得臃肿。
MVP(Model-View-Presenter):包含三个组件——模型、视图和主持者(Presenter)。
主持者承担了业务逻辑和 UI 逻辑,视图相对较为简单。视图和主持者是双向通信。
MVVM(Model-View-ViewModel):包含三个组件——模型、视图和视图模型(ViewModel)。
特点:通过数据绑定减少了视图和业务逻辑之间的直接交互,使得代码更清晰易读,但也可能增加数据绑定的复杂性。
MVVM-C(Model-View-ViewModel-Coordinator):在 MVVM 的基础上引入了协调者(Coordinator)。
特点:通过协调者将视图导航逻辑从视图模型中分离出来,进一步简化视图模型,使代码更模块化。
VIPER(View-Interactor-Presenter-Entity-Router):包含五个组件——视图、交互器(Interactor)、主持者、实体(Entity)和路由器(Router)。
特点:VIPER 是一种更细化的架构,将每个功能模块明确分开,适用于大型和复杂的应用程序,但也增加了开发和维护的复杂性。