The controller tag is used with questions involving the controller component of the Model View Controller (MVC) design pattern. The controller component accepts input, usually from a user interface, and issues various change and modification requests to the model component and/or the view component controlling the data of the model and how the data is presented. In some cases controller and view are combined into a single component.

The Model View Controller design pattern has several variations and the actual implementation details may vary between different programming languages.

There are variations such as the Model View Presenter design pattern. Also see this article, MVC or MVP Pattern - Whats the Difference.

MVC originally came out of the Smalltalk programming community at Xerox Parc in the 1970s. See this MVC at Xerox Park web page with a bit of history from Trygve Reenskaug.