MVC (Model-View-Controller) is a pattern in software design commonly used to implement user interfaces, data, and controlling logic.

The purpose is to separate functionality, logic and interface in an application to promote organised program and allow multiple developers to work on the same project with ease.