Monday, February 11, 2002
Most IT professionals, and probably all developers, have some familiarity with patterns, amd the first introduction probably came from reading Design Patterns. That 1994 book introduced the powerful technique for capturing best practices, lessons learned and solutions in object-oriented development. The concept was borrowed from the building industry and was inspired on a 1977 book by Christopher Alexander titled A Pattern Language: Towns, Buildings, Construction.
Patterns have even spawned a growing body of knowledge of what not to do, called anti-patterns.
Because I am such an advocate (and a passionate one at that) I want to share what I consider to be the best patterns resources on the web:
- If you're new to patterns start with Brad Appleton's Patterns in a Nutshell. This page succinctly and clearly explains patterns with a minimum of extraneous fluff.
- After you get an idea about what patterns are and what they can do for you, read Mr. Appleton's Patterns and Software: Essential Concepts and Terminology.
- If you get the impression that patterns are for developers only (and object-oriented ones at that), a visit to Scott Amby's Process Patterns page will dispel that notion. This page supports Mr. Amby's two books, Process Patterns: Building Large-Scale Systems Using Object Technology (See Linda's 27 September 2001 review and my 26 January 2001 review on Amazon), and More Process Patterns: Delivering Large-Scale Systems Using Object Technology (Linda reviewed this one on 4 February 2001). Don't let the term Object Technology in the title throw you - these two books capture patterns that cover the full application and service delivery spectrum and are two books to which Linda and I refer for best practices.
- If you're an operations analyst or business process specialist, you'll find the workflow patterns page to be a source of interesting information as well as evidence that patterns are cropping up everywhere in IT.
- Bell Labs Organizational Patterns is further evidence that the use of patterns has migrated out of the OO deveopment domain into a much larger world. Remember, we borrowed the idea from the building industry. Organizational patterns deal with unpredictable systems called human beings. The complex interrelationship of this pattern type is illustrated in the Org Patterns Map (click on any node). This information is also broken out into a more readable table of patterns that are hyperlinked to each individual pattern.
- Alexander Hirnschall at the University of Linz, Austria, maintains an interesting . As a side note, Mr. Hirnschall also has interesting pages on workflow management and Active Object-Oriented Database Design
A good place to start for understanding anti-patterns in context is the design patterns page on the anti-patterns site. Follow up with anti-pattern viewpoints as an overview, then drill down into the three views:
Ending Note: Shifting gears - I'll end with two sites that I recently discovered and want to share:- SCHEMA.NET. This site is part of a family of pages: XMLINFO, XSLINFO and XMLSOFTWARE. The goal of this family of sites is to provide well organised information and resources on XML.SCHEMA.NET provides DTDs and schemas for practically every business domain and vertical imaginable.
- Functional Programming and XML, which is an article on O'Reilly's xml.com that makes a compelling argument in favor of using functional programming techniques instead of OO for XML development. It's worth reading regardless of your views on OO vs. functional development.
Subscribe to Posts [Atom]