Bureaucracy

Home - About » Computer Science - Research - Publications
Computer Science
Research, Industry Work,
Programming
Community Service
Hillside Group, CHOOSE,
Stanford GSA
The Serious Side
Business School,
Learning Chinese
Humorous Takes
Switzerland, United States,
Software, Fun Photos
Travel Stories
Europe, United States, Asia
  
Living Places
Berlin (+ Gallery), Zürich
Boston, S.F. + Bay Area

The Bureaucracy pattern is a recurring design theme used to implement hierarchical object structures which allow interaction with every level of the hierarchy and maintain their inner consistency themselves. It is a composite pattern which is based on the Composite, Mediator, Chain of Responsibility and Observer pattern. Composite patterns require new presentation and modeling techniques since their complexity makes them more difficult to approach than non-composite patterns. In this paper, I use role diagrams to present the Bureaucracy pattern and to explore its design and implementation space. Role diagrams have proved to be very useful to get a grip on this complex pattern, and I hope it will work well for design patterns in general.


Dirk Riehle. "Bureaucracy." In Pattern Languages of Program Design 3. Edited by Robert Martin, Dirk Riehle, and Frank Buschmann. Reading, Massachusetts: Addison-Wesley, 1998. Chapter 11, page 163-186.

An earlier version appeared as: Dirk Riehle. "Bureaucracy--A Composite Pattern." EuroPLoP '96, preliminary conference proceedings. Kloster Irsee, 87660 Irsee, Germany, 1996. Paper 16, 11 pages.

The paper is available as a PDF file. Please note that the final published article is a copy-edited version of this pdf file and therefore may differ in minor details from the version provided here.

The C++ sample code from the pattern is available as bureaucracy.tar.gz or bureaucracy.zip. No warranties, use at your own risk.

Copyright (©) 2007 Dirk Riehle. Some rights reserved. (Creative Commons License BY-NC-SA.) Original Web Location: http://www.riehle.org