Disclaimer:
These pages about different languages / apis / best practices were mostly jotted down quckily and rarely corrected afterwards.
The languages / apis / best practices may have changed over time (e.g. the facebook api being a prime example), so what was documented as a good way to do something at the time might be outdated when you read it (some pages here are over 15 years old).
Just as a reminder.

Books about Design Patterns

GoF, POSA and other books about design patterns

A Pattern Language, Christopher Alexander A Pattern Language, Christopher Alexander, 1977
Buy this book at Amazon.com

The book from 1977 where Christopher Alexander defines 253 patterns for creation of cities, buildings, gardens etc. The patterns is defined top-down with the larger structures (e.g. cities, buildings) first and after that patterns for smaller structures (e.g. rooms in houses, parts of gardens). The book is one part of three books, the other books are "Timeless way of Building" (1979) which describes the theories behind the way of thinking in patterns and "The Oregon expirement" (1975) which describes a project where the patterns were applied in real life. The book can be interesting to read to get an overall practical view where the software patterns comes from.

A Pattern Language, Christopher Alexander Advanced C++ Programming styles and Idioms, James O. Coplien, 1991
Buy this book at Amazon.co.uk
Buy this book at Amazon.com

James Coplien wrote this book when working at AT&T where it was used to improve programs/coding. The book was written before the software patterns movement was started, and is having a different structure then patterns catalogs. The book is focused on C++ and tips and techniques that one can use when coding in that language, so it is not generic patterns that are described. However, this is a good example of how common techniques can be described, apply the same way of telling information in a less specific field and you will have patterns.

Analysis Patterns, Martin Fowler - Cover Analysis Patterns, Martin Fowler, 1997
Buy this book at Amazon.co.uk
Buy this book at Amazon.com

This book consists of patterns that are useful when analyzing. Fowler is focusing on complete systems rather than making abstract information about how to analyse.

A Pattern Language, Christopher Alexander AntiPatterns: Refactoring Software, Architectures, and Projects in Crisis, Brown/ Malveau/McCormick/Mowbray, 1998
Buy this book at Amazon.co.uk
Buy this book at Amazon.com

You recognize many of the problems in this book, but it's a bit unclear what the solutions are. The solutions consist of very little concrete information, often the solutions gives abstract solutions like that you should think more object-oriented or refactor parts of the projects. The authors also have written "Antipatterns and Patterns in Software Configuration Management" (1999).

Corba Design Patterns Corba Design Patterns, Mowbray/Malveau, 1997
Buy this book at Amazon.co.uk
Buy this book at Amazon.co.uk

As the title partly reveal: this is not a book about design patterns, this is a book about tips and techinques how to use Corba. Interesting if you are coding with Corba, but not interesting if you are interested in design patterns.

A Pattern Language, Christopher Alexander Design Patterns: Elements of Reusable Object-Oriented Software, Gamma/Helm/ Johnson/Vlissides, 1995
Buy this book at Amazon.co.uk
Buy this book at Amazon.com

This is "The Book" if you are interested in design patterns. This was the book that started the design patterns movement within software development. An introduction to what patterns are, is followed by 23 common patterns. These patterns are divided into three different groups: Creational Patterns: Patterns about instansiation of object. Structural Patterns: Patterns about how classes and objects build up larger structures. Behavioral Patterns: Patterns about how to treat behavior and algorithms. This book simply is a "must", all other books or documents about patterns are refereing to this book.

A Pattern Language, Christopher Alexander Design Patterns for Object-Oriented Software Development, Wolfgang Pree, 1994
Buy this book at Amazon.co.uk
Buy this book at Amazon.com

The title is slightly misleading. The kind of patterns that are described here are not the same kinds of patterns that you will find in the GoF-book. Pree is describing something he calls meta-patterns which are used to create frameworks. The book does not feel that relevant since it was written before the GoF-book and since its focusing on the creation of frameworks.

Pattern Hatching - Design Patterns Applied Pattern Hatching - Design Patterns Applied, John Vlissides, 1998
Buy this book at Amazon.co.uk
Buy this book at Amazon.com

This is a book how to use patterns when designing software. The author uses a file explorer as an example where he applies several patterns and describes how/why in a pedagogical way. You should have read the GoF-book before to know the most common patterns. The author is John Vlissides who also was participating in writing the GoF-book.

Pattern Languages of Program Design 1-3
Buy this book at Amazon.com

At the PLoP-conferences you have different workshops where you discuss and create patterns and articles. These books are compilations of some of the patterns and articles after they have been rewritten after the conferences. Part 1 and 2 are quite a mixture of patterns from quite different domains. Part 3 consists of patterns that is similar those that are in the GoF-book. Part 4 was published 1999.

A Pattern Language, Christopher Alexander Pattern-Oriented Software Architecture, A System of Patterns, Buschmann/Meunier/ Rohnert/Sommerlad/Stal, 1996
Buy this book at Amazon.co.uk
Buy this book at Amazon.com

Also known as the POSA-book. A complement to the GoF-book. This book describes the theories behind patterns and give their view on the topic. It consist of 25 patterns, some of them that are similar to thos from the GoF-book. The book also consists of architecutral patterns, information about the history of patterns and have you find patterns.

A Pattern Language, Christopher Alexander Patterns of Software, Richard Gabriel, 1996
Buy this book at Amazon.co.uk
Buy this book at Amazon.com

This book is more abstract than concrete fact related to software development. The book consists of different articles by Richard Gabriel that have been published in Journal of Object-Oriented Programming. The articles are divided into five different categories: 1. Patterns of Software is about Christopher Alexander and what impact his ideas have had in software development. datalogin. 2. Languages describes the programmers relation to different programming languages. Different programmers have different lagnuages they prefer even if that favourite language is not optimal for the projects the programmer is working on. 3. What We Do describes what view people that are not involved in software development has on software development. 4. In "Life of the Critic" describes Gabriel his own experiences from software development. 5. In the last category, "Into The Ground" describes Gabriel a company he had from the start to the end. The book is easy to read and gives information about topics around software development and patterns. It can be compared to Linda Risings Patterns Handbook, but the articles in this book is not focused only on the pattern movement, they are also about software development in general

A Pattern Language, Christopher Alexander The Oregon Experiment, Christopher Alexander, 1975
Buy this book at Amazon.co.uk
Buy this book at Amazon.com

This book describes how Christopher Alexander and other architects designed University of Oregon in the 70s. They used the ideas and patterns that are described in "Timeless...." and "A Pattern Language." Naturally, the book only describes patterns in architecture, the book is probably more interesting to read as background for the history of patterns rather than to try to extract useful information for software developers.

A Pattern Language, Christopher Alexander The Patterns Handbook, Linda Rising, 1998
Buy this book at Amazon.co.uk
Buy this book at Amazon.com

A collection of articles about patterns and how patterns have been used at companies. It mostly consists of articles about AGCS (http://www.agcs.com/patterns).

Bra artiklar om hur de har tillämpat mönster i sina projekt, och hur de har gått tillv�ga f�r att finna m�nster och l�ra ut m�nster till sina anst�llda. En bra bok f�r att f� verklighetsan-knytning, hur man praktiskt hittar m�nster och hur man till�mpar m�nstert�nkandet vid f�-retag. L�ttl�st d� det mest �r artiklar som �vergripande behandlar folks erfarenheter om m�nster. N�gra av de artiklar som finns med: "Patterns: Spreading the Word" av Linda Rising � Beskriver hur de introducerade m�nster hos AGCS. De hade organiserade fikaraster d�r man tr�ffades och diskuterade m�nster. Alla intresserade fick var sitt exemplar av GoF-boken. De hade introduktionskurser, varav en viss tid avsattes till konsultation d�r del-tagarna fick hj�lp med att hitta m�nster i sina egna projekt. "Pattern Writing" av Linda Rising � Vilka olika format m�nster kan skrivas ned i. "Improving Software Development at AG Communication System" av Norm Janoff � Erfarenheter av organisationsm�nster och processm�nster. "Setting the Stage" av James O. Coplien Vad m�nster �r och deras ursprung. "Software Design Patterns: Common Questions and Answers" av James O. Coplien � Vanliga fr�gor ang�ende olika termer. "The Failure of Pattern Languages" av Richard P. Gabriel � Varf�r m�nster kanske inte alltid fungerar. Alexanders m�nster har till�mpats med va-rierande resultat. Artikeln �r en redog�relse av hans tankar efter att han sett resultaten. "Potential Pattern Pitfalls, or How to Jump on the Patterns Bandwagon Without the Wheels Coming Off" av Neil B. Harrison � Om nackdelar med m�nster och hur man undviker dem. Bra f�r att f� lite mer perspek-tiv. "An Introduction to Patterns" av Ralph E. Johnson � En introduktion d�r f�r- och nackdelar med att anv�nda m�nstret Composite [Gam95] beskrivs. "Patterns and Frameworks" av Ralph E. Johnson � Skillnader mellan m�nster och ramverk och f�r/nackdelar f�r de b�da. Artikeln beskri-ver vilka m�nster som ing�r i ramverket MVC (Model/View/Controller) och hur de fungerar d�r. "Patterns and Antipatterns" av Andrew Koenig � De f�rsta tankarna kring AntiPatterns. "Pattern Hatching - Perspectives from the �Gang of Four�" av John Vlissides � En introduktion till m�nster, ber�ttar varf�r GoF valde just sin typ av form f�r m�nster, och ger ett exempel av Composite-m�nstret. Tankarna i denna artikel ing�r �ven i Vlis-sides bok med samma namn. Boken inneh�ller m�nga fler artiklar om liknande �mnen. En bibliografi �ver k�nda b�cker och recensioner av dem �r inkluderad. The Timeless Way of Building av Christopher Alexander, 1979 [Alex79] Boken d�r Christopher Alexander beskriver sina teorier om m�nster och vad de ska uppn�. Boken utg�r ett par tillsammans med "A Pattern Language" [Alex77] d�r "Timeless...." be-skriver teorierna bakom hans tankar och "A Pattern Language" [Alex77] visar den praktiska till�mpningen. "The Oregon..." [Alex75] ber�ttar om praktiskt anv�ndande av dessa tv� b�cker.


More programming related pages

Workflow: Release process
Workflow: Bug tracking
Teambox (Redbooth) - Mantis connector
Design Patterns
Git & Github
Go / Golang
CVS
CVS backup script
Distribution process
Installation script
Java Server Faces
Facelets
jibx
jBoss
jBpm
Perl tips
Perl links
PostgreSQL
Python / py2app
Shell scripts
Xslt
Node.js
Facebook / Opengraph
PHP developer notes
Redbooth API through php
Website optimization
jqTableKit demo
Javascript / html / css links