Web Application Component Toolkit

Presentation Abstraction Control

A pattern for implementing user interfaces, based around the concept of a heirachy of cooperating agents.

Each agent is a unitary aspect of the system, operating as a node in the agent heirachy. Each agent consists of Presentation, Abstraction, and Control components.

Similar to Model View Controller, in the way that the Control component connects Presentation and Abstraction.

Different to MVC in the way in which the Agent heirachy reflects transitive dependencies between agents. (Chaining controllers together?)

Human computer interaction, feedback devices. Responses to input control, specific duties of functionality.

(See Pattern-Oriented Software Architecture, Buschmann, F., R. Meunier, H. Rohnert, P. Sommerlad, and M. Stal.)

Presentation Abstraction Control in Modern Web Applications

Although Presentation Abstraction Control is less commonly discussed than Model View Controller, the problem it addresses remains familiar: complex applications need a way to organize user interfaces and keep interaction concerns separate from the underlying functionality.

Modern web applications often divide their interfaces into smaller, reusable parts. A page may contain navigation, forms, dialogs, interactive controls, and other components that work together while serving different purposes. Organizing these parts clearly can make a large interface easier to maintain and extend.

This separation between presentation, application behavior, and user interaction is part of the broader design of web applications. Different architectural patterns approach the problem in different ways, but the goal of keeping an application's responsibilities understandable remains important.

The same ideas can be seen in browser-based applications, where a significant part of the user interface and application behavior may run directly in the browser. Interactive tools can combine reusable interface components with client-side code that responds to user input and coordinates application tasks.