The Model-View-Controller (MVC) architectural pattern separates an app into three main components: the Model, the View, and the Controller. The MVC pattern helps you create apps that are testable and easier to maintain and update than traditional monolithic apps. MVC-based apps contain: