Software Architectures
Model View Controller (MVC)
MVC divides an application into three parts, the model, view, and controller.
- Models use the Observer pattern to notify views that data has changed.
- Views use the Composite pattern to create a hierarchy of UI elements.
- Controllers use the Strategy pattern to handle events from views.
Views are always hierarchies, with one single “top view”, and many child views. A single view can represent both single items, such as a checkbox, or more complex components, such as a list of selectable items.