The application design pattern in Salesforce is based on a traditional model MVC. M stands for Model, V stands for View and C denotes the controller.
In MVC, each layers can be independently managed. This enables us to work on each layers independently in developing an application.