Example of the Model View Controller design pattern
The model-view-controller (MVC) design pattern specifies that an application consists of a data model, presentation information, and control information. The pattern requires that each of these is separated into different objects.
Most applications today follow this pattern, many with slight variations. For example, some applications combine the view and the controller into one class because they are tightly coupled. All of the variations strongly encourage the separation of data and its presentation. This not only makes the structure of an application simpler but also enables code reuse. For more information read the page of IBM about Design Patterns.