Presentation-abstraction-control
Encyclopedia
Presentation–abstraction–control (PAC) is a software architectural pattern
Architectural pattern (computer science)
An architectural pattern in software is a standard design in the field of software architecture. The concept of a software architectural pattern has a broader scope than the concept of a software design pattern...

. It is an interaction-oriented software architecture, and is somewhat similar to model–view–controller (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.

Hierarchical model–view–controller (HMVC)

A variation of MVC similar to PAC was published in an article in JavaWorld
JavaWorld
JavaWorld is an online technology website focused on Java technologies, founded in 1996. Since 2006, JavaWorld has become a subsidiary of Network World...

 Magazine, the authors apparently unaware of 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.

The controller has some oversight. The controller selects the model and then selects the view, so there is an approval mechanism by the controller. The model prevents the view from accessing the data source directly.

See also

  • Model–view–presenter
  • Model view viewmodel
    Model View ViewModel
    The Model View ViewModel is an architectural pattern used in software engineering that originated from Microsoft as a specialization of the Presentation Model design pattern introduced by Martin Fowler...

  • Presenter First
    Presenter First
    Presenter First is a software development approach that combines the ideas of the model–view–presenter design pattern, test-driven development, and Feature-driven development.-Approach:...

  • PAC-Amodeus,
  • PAC*
  • Drupal web application framework

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK