Hide menu

TDDB84 Design Patterns


The course literature consists of online resources and scientific papers, as well as a reference textbook on Design Patterns:

Design Patterns: Elements of Reusable Object-Oriented Software
by Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides

Hardcover: 395 pages
Publisher: Addison-Wesley Professional; 1st edition (January 15, 1995)
Language: English
ISBN: 0201633612

During the course, you are supposed to search for scientific papers and other information on your own, by using the online search engines of LiU, Google Scholar or other search tools for papers that you are familiar with.


SOLID is an acronym for a set of design principles in object-oriented design of software. The Wikipedia description of SOLID is good, but you might also need to find examples of violations of these principles, in order to understand how they are to be applied.

Justifications for design

Programming paradigms

Critique and reflections

These are some of the critiques usually found against the (over-)use of design patterns in software.


Kent Beck and Ward Cunningham. Using pattern languages for object-oriented programs. Technical Report CR-87-43, Tektronix, Inc., September 17, 1987. Presented at the OOPSLA'87 workshop on Specification and Design for Object-Oriented Programming.

E. Gamma, R. Helm, R. Johnson, J. Vlissides. Design Patterns: Abstraction and Reuse of Object-Oriented Design. European Conference on Object Oriented Programming ECOOP 97 LNCS 707, Springer, 1993

Christopher Alexander's talk at the 1996 ACM Conference on Object-Oriented Programs, Systems, Languages and Applications (OOPSLA). The Origins of Pattern Theory the Future of the Theory, And The Generation of a Living World.


Some design patterns are implemented using more or less standardized components or techniques. Here is a list to external resources for some of them. More references are in the lecture material and will be moved here for easier reference.

Page responsible: Ola Leifler
Last updated: 2014-06-27