Patterns have taken the software development community by storm. Software developers
have been enthusiastic about patterns ever since the seminal work Design Patterns -
Elements of Reusable Object-Oriented Software [GoF95]. Its successors, such as the
Pattern Languages of Programming Design (PLoPD) series [PLoPD1] [PLoPD2] [PLoPD3]
[PLoPD4] and A System of Patterns [POSA1]
[1]
have further fanned the burning interest in
patterns kindled originally by earlier work on software idioms [Cope92], patterns for building
architectures [Ale79] [AIS77], and patterns for cultural anthropology [Bat97].