Architect Patterns

Back Home Up

Architectural Patterns

Collection of patterns.

Patterns

  • Broker Pattern (Distributed Systems)
  • Model View Controller (Interactive Systems)
  • Presentation-Abstraction-Control (Interactive Systems)
  • Microkernel pattern (Adaptable Systems)
  • Reflection (Adaptable Systems)
  • Layers pattern (Mud-to-structure)
  • Pipes and Filters (Mud-to-structure)
  • Blackboard pattern (Mud-to-structure)

Pattern descriptions

The Broker pattern can be used to structure distributed software systems with decoupled components that interact by remote service invocations. A broker component is responsible for coordinating communication, such as forwarding requests, as well as for transmitting results and exceptions.

The Model-View-Controller pattern (MVC) divides an interactive application into three components. The model contains the core functionality and data. Views display information to the user. Controllers handle user input. Views and controllers together comprise the user interface. A change-propagation mechanism ensures consistency between the user interface and the model.

The Presentation-Abstraction-Control pattern (PAC) defines a structure for interactive software systems in the form of a hierarchy of cooperating agents. Every agent is responsible for a specific aspect of the application's functionality and consists of three components: presentation, abstraction, and control. This subdivision separates the human-computer interaction aspects of the agent from its functional core and its communication with other agents.

The Microkernel pattern applies to software systems that must be able to adapt to changing system requirements. It separates a minimal functional core from extended functionality and customer-specific parts. The microkernel also serves as a socket for plugging in these extensions and coordinating their collaboration.

The Reflection pattern provides a mechanism for changing structure and behavior of software systems dynamically. It supports the modification of fundamental aspects, such as type structures and function call mechanisms. In this pattern, an application is split into two parts. A meta level provides information about selected system properties and makes the software self-aware. A base level includes the application logic. Its implementation builds on the meta level. Changes to information kept in the meta level affect subsequent base-level behavior.

The Layers pattern helps to structure applications that can be decomposed into groups of subtasks in which each group of subtasks is at a particular level of abstraction.

The Pipes and Filters pattern provides a structure for systems that process a stream of data. Each processing step is encapsulated in a filter component. Data is passed through pipes between adjacent filters. Recombining filters allows you to build families of related systems.

The Blackboard pattern is useful for problems for which no deterministic solution strategies are known. In Blackboard several specialized subsystems assemble their knowledge to build a possibly partial or approximate solution.

Rose 98 model (52KB) (13-Mar-00)

www.rationalrose.com/models/architectural_patterns.zip


All products mentioned are registered trademarks or trademarks of their respective companies.
Send mail to webmaster@rationalrose.com with questions or comments about this web site. 
Copyright © 1999-2000 Michael Moors
Last modified: March 13, 2000