
Systems
Patterns that form the most basic structure of the system
Application
Perspectives on how a system should be structured, based on what's perceived most important: ease-of-development, testability, or understandability

Smart-UI

Document-View

Traditional Model-View-Controller
Model-View-Updater

Model-View-Adapter
Model-View-Presenter

Model-View-Viewmodel
MVVM, Model-View-Binder

Hierarchical MVC
Presentation-Abstraction-Control, Hierarchical model-view-controller

Microkernel
Kernel

Software Framework

Entity-Control-Boundary
Entity-Boundary-Control, Boundary-Control-Entity

Hexagonal Architecture
Ports and Adapters, Onion Architecture, Clean Architecture, Functional Core / Imperative Shell
