Software Architectures:
- Layered
- Onion
- Hexagonal (Ports and Adapters)
- Microservices
- Event-Driven
GUI Architectures:
Paradigms:
- Immediate mode (ImGUI)
- Retained mode (Qt)
MVC variants:
- Model View Presenter
- Model View Controller (MVC)
- Model View View-Model
- Model View Adapter
- Model View Update (Elm architecture)
Exotic:
- RP and FRP (Reactive), 1-way-binding, 2-way-binding
- Lisp CLOS
- Erlang BEAM
Approaches:
- Clean Architecture
- Domain-Driven Design
- Imperative shell, Functional core