Model-View-Whatever (MVW) - is not an actual UI Design Pattern but a term coined to refer to the various Model-View-* patterns. MVW is sometimes mistakenly referred as Model-View-Controller (MVC)
- Model-View-Controller (MVC) - unidirectional flow of events/data (i.e. Controller → Model → View → Back to Controller) (e.g. React.js)
- Model-View-Adaptor (MVA) - the Adaptors sits between Model and View (i.e. View ↔ Adaptors ↔ Model)
- Model-View-Presenter (MVP) - a MVA with only 1 adaptor (e.g. Spring, Rails, PHP PHP, ASP.net)
- Model-View-ViewModel (MVVM) - Model-View-Binder (MVB) - MVP/MVA but with data-binding between ViewModel/Binder and the View (e.g. Angular, Vue.js)
Model-View-* Hierarchy
MVW / \ MVA MVC_____ | / \ \ MVP Flux MVC1 MVC2 | |? MVVM/MVB Redux