# (Hierarchical) Model View Controller Model View Controller (Or MVC for short) is a popular design pattern that separates your data sources (Model) from the presentation/templates (View) and the request logic (Controller). It makes it much easier to develop applications as the system is designed to maximise the code reuse, meaning you don't have to write as much!