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 PatternsGoF, POSA and other books about design patterns
|
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.
|
|
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, 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.
|
|
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, 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.
|
|
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.
|
|
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, 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.
|
|
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.
|
|
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
|
|
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.
|
|
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 |
|