Chapter 14

Layering Interactive Agents with Presentation-Abstraction-Control

In This Chapter

  • Building a system of agents for an interactive application
  • Assembling legacy display components
  • Implementing the Presentation-Abstraction-Control architecture

In this chapter, I tell you about Presentation-Abstraction-Control (PAC), a pattern for structuring your interactive application when the parts are autonomous components with their own independent capabilities.

I refer to these autonomous components as agents, and I define an agent as a component that has these capabilities:

  • It can receive events and forward them to other agents.
  • It contains data structures that store the agent's information as well as the agent's state.
  • It can perform at least the following computations:
    • Processing incoming events
    • Updating its own state
    • Generating new events that are sent to other agents

Agents may range in size from a single object to something as complex as a complete software system.

Note: This definition of agent is specific to this chapter. If you've read about agents elsewhere, you'll see that the definitions are related, but in this chapter, I don't talk about anything more advanced than what I outline above.

Get Pattern-Oriented Software Architecture For Dummies now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.