Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
Model View Controller (MVC) is one of the oldest and most successfully reused software design patterns. It was first introduced with the Smalltalk programming language in the 1970s. MVC defines the overall architecture of the Cocoa frameworks. It’s a high-level pattern for organizing large groups of cooperating objects into distinct subsystems: the Model, the View, and the Controller.
To understand the roles that subsystems play in the MVC pattern, it’s useful to analyze the capabilities and behavior of common applications. Most applications store information, retrieve information, present information to a user, and enable a user to edit or otherwise manipulate the information. In an object-oriented application, information isn’t just bytes; objects encapsulate information along with methods for using the information. Each object within your application should fit into exactly one of the following subsystems: