Presentation-abstraction-control
Encyclopedia : P : PR : PRE : Presentation-abstraction-control
Presentation-abstraction-control (PAC) is a software design pattern, somewhat similar to model-view-controller (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.

Hierarchical-Model-View-Controller (HMVC)
A subset or variation of PAC under the name Hierarchical-Model-View-Controller (HMVC) was published in an article in JavaWorld Magazine, the authors apparently unawareof PAC which was published 13 years earlier. The main difference between HMVC and PAC is that HMVC is less strict in that it allows the view and model of each agent to communicate directly, thus bypassing the controller.
See also
- Model-view-controller
- PAC-Amodeus
- PAC*
References
External links
- [Presentation-Abstraction-Control] introduction by Patrick van Bergen.
- [PAC description in the Portland Pattern Repository]
- WengoPhone is a free software VoIP 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.
Notes
From Wikipedia, the Free Encyclopedia. Original article here. Support Wikipedia by contributing or donating.
All text is available under the terms of the GNU Free Documentation License See Wikipedia Copyrights for details.
