Presentation–abstraction–control
   HOME

TheInfoList



OR:

Presentation–abstraction–control (PAC) is a software architectural pattern. It is an interaction-oriented software architecture, and is somewhat similar to
model–view–controller Model–view–controller (MVC) is a software architectural pattern commonly used for developing user interfaces that divide the related program logic into three interconnected elements. This is done to separate internal representations of infor ...
(MVC) in that it separates an interactive system into three types of components responsible for specific aspects of the application's functionality. The abstraction component retrieves and processes the data, the presentation component formats the visual and audio presentation of data, and the control component handles things such as the flow of control and communication between the other two components. In contrast to MVC, PAC is used as a hierarchical structure of agents, each consisting of a triad of presentation, abstraction and control parts. The agents (or triads) communicate with each other only through the control part of each triad. It also differs from MVC in that within each triad, it completely insulates the presentation (view in MVC) and the abstraction (model in MVC). This provides the option to separately multithread the model and view which can give the user experience of very short program start times, as the user interface (presentation) can be shown before the abstraction has fully initialized.


History

PAC was initially developed by French computer scientist, Joëlle Coutaz in 1987. Coutaz founded the User Interface group at the Laboratoire de Génie Informatique of IMAG.


See also

* Action Domain Responder *
Hierarchical model–view–controller Hierarchical model–view–controller (HMVC) is a software architectural pattern, a variation of model–view–controller (MVC) similar to presentation–abstraction–control (PAC), that was published in 2000 in an article in JavaWorld ' ...
*
Model–view–presenter Model–view–presenter (MVP) is a derivation of the model–view–controller (MVC) architectural pattern, and is used mostly for building user interfaces. In MVP, the ''presenter'' assumes the functionality of the "middle-man". In MVP, all ...
*
Model–view–viewmodel Model–view–viewmodel (MVVM) is an architectural pattern in computer software that facilitates the separation of the development of the graphical user interface (GUI; the ''view'')—be it via a markup language or GUI code—from the develo ...
* Presenter First *PAC-Amodeus


Notes


References

* * * * * *


External links

* Architectural outline for the game
Warcraft ''Warcraft'' is a franchise of video games, novels, and other media created by Blizzard Entertainment. The series is made up of five core games: '' Warcraft: Orcs & Humans'', '' Warcraft II: Tides of Darkness'', '' Warcraft III: Reign of Chaos ...
as it might be implemented using the PAC Architectural Pattern
Programming of the application PACcraft:Architecture
(in French)
Pattern:Presentation-Abstraction-Control
(pattern description)
PAC description in the Portland Pattern Repository
* WengoPhone is a
free software Free software or libre software is computer software distributed under terms that allow users to run the software for any purpose as well as to study, change, and distribute it and any adapted versions. Free software is a matter of liberty, no ...
VoIP Voice over Internet Protocol (VoIP), also called IP telephony, is a method and group of technologies for the delivery of voice communications and multimedia sessions over Internet Protocol (IP) networks, such as the Internet. The terms Internet t ...
application that is written using the PAC design pattern. *
description of PAC
and motivation for use in WengoPhone. *
demonstration code
courtesy of the OpenWengo community. * {{DEFAULTSORT:Presentation-Abstraction-Control Software architecture Software design patterns Programming paradigms Human–computer interaction User interfaces