blob: 15275eb9c729e7067189779fcd6fa3de3449ef7a [file] [log] [blame] [view]
Elaine Chien719e2d82023-07-27 18:00:191# Views MVC Developer Guide
2
3## Components and Concepts
4
5### Model:
6* Contains data related to the display of the view
7* Treat backend service as separate models
Elaine Chien78942712023-11-03 17:17:398* Gets updated by the view controller
Elaine Chien719e2d82023-07-27 18:00:199
10### View:
11* Presentation of UI
12* Receives and handles events from the user that dont require model data
13* Is called into by the View Controller and does not interact with the model
14* The view should end up being pretty simple
15
16### Controller:
17We break up the traditional Controller into the Coordinator and View Controller. More complicated features where the View Controller gets unruly can also further split out a mediator object (Reach out to the views team for more details if your team would like to explore that option)
18
19#### Coordinator:
20* Public API of the component
21* In charge of when features become active or inactive
22* Owned by the coordinator of its parent component
Elaine Chien