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.
Statements (48)
| Predicate | Object |
|---|---|
| instanceOf |
architectural pattern
ⓘ
software design pattern ⓘ user interface architectural pattern ⓘ |
| abbreviation | MVU NERFINISHED ⓘ |
| 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 NERFINISHED ⓘ |
| category |
software architecture pattern
ⓘ
user interface pattern ⓘ |
| defines | unidirectional data flow ⓘ |
| emphasizes |
immutable state
ⓘ
predictable state transitions ⓘ pure functions ⓘ |
| hasComponent |
Model
ⓘ
Update NERFINISHED ⓘ View NERFINISHED ⓘ |
| hasModelRole | represents application state ⓘ |
| hasProperty | unidirectional data flow ⓘ |
| hasUpdateRole | handles messages and produces new state ⓘ |
| hasViewRole | renders state to UI ⓘ |
| influenced |
Elm Architecture
NERFINISHED
ⓘ
Redux NERFINISHED ⓘ |
| isBasisFor | Elm Architecture NERFINISHED ⓘ |
| messageFlow |
messages are processed by update
ⓘ
update returns new model ⓘ user input produces messages ⓘ view renders model to UI ⓘ |
| popularizedBy | Elm programming language NERFINISHED ⓘ |
| relatedTo |
Model-View-Controller
NERFINISHED
ⓘ
Model-View-ViewModel NERFINISHED ⓘ Redux NERFINISHED ⓘ |
| 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 ⓘ |
Referenced by (1)
Full triples — surface form annotated when it differs from this entity's canonical label.