- Measurable But Variable Forces
- The Harvest Continues
- Incremental Change
In their delightful book, Software Architecture (Prentice Hall, 1996), Mary Shaw and David Garlan identify several such architectural patterns. I'm not yet sure if their pattern collection covers the full breadth of software-intensive systems sufficiently or even if all these patterns are fundamental and irreducible, but it's certainly a start: My intuition suggests that other architectural patterns remain to be harvested. The good news is the patterns community is vibrant and that many bright people are working on discovering and codifying design patterns. In particular, the Hillside Group (http://www.hillside.net) has been a veritable center of gravity of innovative patterns work. The group continues to advance the patterns literature with their Pattern Languages of Programs (PLOP) conferences and other good works.
Drawing from the PLOP literature as well as other sources, I've cataloged almost 2,000 such design patterns thus far. Two observations strike me from this study. First, since the publication of the Gang of Four's Design Patterns book (Addison-Wesley, 1995), our understanding of how best to present patterns has matured considerably (indeed, several patterns authors have identified quite a few patterns about patterns, or metapatterns). Second, coverage of the patterns literature has exploded. Not only have we codified more extensive design patterns, but we're now seeing technology- and domain-specific patterns, such as those for reactive systems in general and for telephony systems in particular.