Model–View–Controller (MVC) is a design pattern forcomputer user interfaces that divides an application into three areas of responsibility:
1. the Model: the domain objects or data structures that represent the application's state.
2. the View, which observes the state and generatesoutput to the users.