Presentation–abstraction–control (PAC) is a software
architectural pattern
An architectural pattern is a general, reusable solution to a commonly occurring problem in software architecture within a given context. The architectural patterns address various issues in software engineering, such as computer hardware perfor ...
. 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
French (french: français(e), link=no) may refer to:
* Something of, from, or related to France
** French language, which originated in France, and its various dialects and accents
** French people, a nation and ethnic group identified with France ...
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 Magazi ...
*
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 pr ...
*
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 developme ...
*
Presenter First
Presenter first is a software development approach that combines the ideas of the model–view–presenter (MVP) design pattern, test-driven development, and feature-driven development.
Approach
Presenter first concentrates on transforming each ...
*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 Chao ...
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, ...
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 Interne ...
application that is written using the PAC design pattern.
*
description of PACand 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