The MVC pattern, also known as the Model-View-Controller pattern, is an application design pattern that is used primarily for the separation of concerns within modern applications. More specifically, it is a design pattern for user interfaces that divides an application, primarily, into three distinct components. This separation of application modules into distinct parts is done for several reasons. One such reason is to isolate presentation logic from core business logic. Let us take a look at these three application components in the MVC pattern.