Notes on Software Patterns:
Chapter Index

H. Conrad Cunningham

16 April 2022

Copyright (C) 1998-2022, H. Conrad Cunningham
Professor of Computer and Information Science
University of Mississippi
214 Weir
P.O. Box 1848
University, MS 38677
(662) 915-7396 (dept. office)

Browser Advisory: The HTML version of this textbook requires a browser that supports the display of MathML. A good choice as of April 2022 is a recent version of Firefox from Mozilla.

Notes on Software Patterns

Introduction to Patterns (Ch. 1)

Pipes and Filters Architectural Pattern (Ch. 2)

Designing with Patterns

This is a set of slides to accompany discusion of Chapter 2 of Pattern Hatching: Design Patterns Applied [5].

Design Patterns

Acknowledgements

I wrote the first version of these notes for my Spring 1998 graduate Special Topics in Software Architecture class. I based the notes, in part, on:

I revised the notes somewhat for related courses in 1999, 2000, 2001, 2002, and 2004. Also, in 2004 I revised the notes, created slides, and included them as a part of the materials supported by a grant from the Acxiom Corporation titled “The Acxiom Laboratory for Software Architecture and Component Engineering (ALSACE)”. My ALSACE research team included PhD students Yi Liu and Pallavi Tadepalli and MS students Mingxian Fu and “Melody” Hui Xiong.

In Spring 2017, I adapted many of the earlier notes to use Pandoc-flavored Markdown. In Spring 2018 I revised the notes slightly to fit in with the other documents for the CSci 658 course.

I retired from the full-time faculty in May 2019. As one of my post-retirement projects, I am continuing work on possible textbooks based on the course materials I had developed during my three decades as a faculty member. In January 2022, I began refining the existing content, integrating separately developed materials together, reformatting the documents, constructing a unified bibliography (e.g., using citeproc), and improving my build workflow and use of Pandoc.

In most cases, I have not yet in 2022 replaced the old Powerpoint slides by HTML slides.

I maintain this document as text in Pandoc’s dialect of Markdown using embedded LaTeX markup for the mathematical formulas and then translate the document to HTML, PDF , and other forms as needed

References

[1]
Frank Buschmann, Regine Meunier, Hans Rohnert, Peter Sommerlad, and Michael Stal. 1996. Pattern-oriented software architecture: A system of patterns. Wiley, Hoboken, New Jersey, USA.
[2]
Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. 1995. Design patterns: Elements of reusable object-oriented software. Addison-Wesley, Boston, Massachusetts, USA.
[3]
Mark Grand. 1998. Patterns in Java: A catalog of reusable design patterns illustrated with UML. Wiley, Hoboken, New Jersey, USA.
[4]
Mary Shaw and David Garlan. 1996. Software architecture: Perspectives on an emerging discipline. Prentice-Hall, Englewood Cliffs, New Jersey, USA.
[5]
John Vlissides. 1998. Pattern hatching: Design patterns applied. Addison-Wesley, Boston, Massachusetts, USA.