Model-View-Update

E828354

Model-View-Update is an architectural pattern for building user interfaces that separates application state, rendering, and update logic, popularized by the Elm programming language and often used in functional and reactive programming.

All labels observed (1)

Label Occurrences
Model-View-Update canonical 3

How this entity was disambiguated

Statements (48)

Predicate Object
instanceOf architectural pattern
software design pattern
user interface architectural pattern
abbreviation MVU
aimsTo improve testability of UI code
reduce side effects in UI logic
simplify reasoning about state changes
appliesTo desktop applications
mobile applications
web applications
associatedWith Elm programming language
linked to: Elm
category software architecture pattern
user interface pattern
defines unidirectional data flow
emphasizes immutable state
predictable state transitions
pure functions
hasComponent Model
Update
View
hasModelRole represents application state
hasProperty unidirectional data flow
hasUpdateRole handles messages and produces new state
hasViewRole renders state to UI
influenced Elm Architecture
linked to: Elm

Redux
isBasisFor Elm Architecture
linked to: Elm
messageFlow messages are processed by update
update returns new model
user input produces messages
view renders model to UI
popularizedBy Elm programming language
linked to: Elm
relatedTo Model-View-Controller
Model-View-ViewModel
linked to: MVVM

Redux
separates application state
rendering logic
update logic
supports easy state inspection
time-travel debugging
usedFor building user interfaces
handling user interactions
managing application state
separating concerns in UI applications
structuring UI code
usedIn Elm applications
functional programming
reactive programming

How these facts were elicited

Referenced by (3)

Full triples — surface form annotated when it differs from this entity's canonical label.

MVU fullName Model-View-Update
Avalonia.FuncUI architectureStyle Model-View-Update
Comet for .NET architecturePattern Model-View-Update