UI Architecture Pattern - MV (Stateful Model-View)#
What is the MV pattern#
The MV pattern is an abbreviation for the Stateful Model-View pattern, which is a modern UI layer framework pattern. In the development of modern UI frameworks, such as Kotlin's Compose, Swift's SwiftUI, etc., UI interface data binding and processing operations have been greatly simplified based on subscribable state objects and one-way data. Since there is no longer a need for separate Controller/Presenter/ViewModel to handle interface binding, developers can directly use subscribable objects (StatefulModel) in the View, greatly simplifying the coding of UI interfaces.
At the same time, the data layer only needs to maintain the StatefulModel, focusing on data state management, avoiding the interference of complex logic unrelated to the UI; the UI layer only has the View, focusing on the display of data on the interface, simplifying the code structure of the UI. The entire project structure is more clear, concise, and easy to maintain.
package ui {
class View1
class View2
}
package data {
class StatefulModel
class Model
StatefulModel --> Model
}
View1 --> StatefulModel
View2 --> StatefulModel