Software Architectures
This section contains a collection of common enterprise software architecture patterns. Each pattern is implemented in TypeScript, providing concrete examples of these concepts in practice.
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.