Turning lemons to lemonade
If anyone has had the frustration of designers handing the pages of HTML and then trying to mix the backend business logic, they know it's a situation that works but with room for improvement. We have a Model-View-Controller (this is a technical way to describe how pieces work together) simplified with COOP. The designer works in the view and the developer works in the controller and model. Here is a basic outline of the pieces and what they do:
Controller: This is actually the key that ties things together. This is where the pivot logic goes.
Model: This is the objects that follow the concepts of object-oriented programming. In its simplest form, this is often just an object that interacts with a database or has a design interface that lets us think of coding around a real-world model. This is why it is called model.
View: This is where the markup (typically HTML and CSS in web applications) is written or generated to be returned to the browser.