In this quick guide, find resources and commentary to help you learn what a pattern is and how to put them to use. Also, discover sample patterns to give you ideas about how to use patterns in your organization.
Requires Free Membership to View
Design pattern news and commentary
Design pattern examples
Design patterns provide guidance, not standards
While it's likely that no two software systems are identical, certain enterprise
architecture design challenges pop up over and over again. And when the same problem gets
solved enough times in various situations by various architecture teams, a single technique often
emerges as the best. Such techniques become patterns. A pattern is a reusable solution to a
software design problem that has been proven effective in multiple situations.
An example of a popular pattern is the Model-View-Controller. First conceived in the late seventies, the Model-View-Controller is a design pattern for separating application logic, data access, and user interaction. By decoupling each part of the software, the Model-View-Controller allows for changes to be made to each part individually without having to edit the others. Because the Model-View-Controller pattern greatly improves the manageability of many different kinds of applications, it is one of the most popular patterns used in software architecture today.
Numerous books have been written on patterns and some patterns, like the Model-View-Controller,
have been around for decades, but patterns remain a rather informal aspect of software design.
Often a pattern will only see reuse in a single industry or company. Many development teams keep a
small collection of patterns they have created for themselves. Rather than standardization, the
real value of patterns is to help architecture teams conceptualize design problems at a more
abstract level and save the time of working on a problem that may already have an existing
solution.
Back to the top
Design pattern news and commentary
Gregor Ramblings: Gregor Hohpe's Enterprise
Integration Patterns Blog
Noted patterns expert Gregor Hohpe keeps a blog about enterprise integration and patterns, covering
such topics as messaging, diagram-driven design, and SOA and cloud. One article in particular, "Design Patterns: More than Meets the
Eye," gives an excellent overview to the concept of patterns and their place within the
organization.
Podcast:
Leonard Fehskens on architecture and emerging patterns
SearchSOA.com's Jack Vaughan sat down with Leonard Fehskens, vice president and Global Profession
Lead at The Open Group, to discuss architecture and emerging patterns. Feshkens' take brings light
to the topic of software architecture, which, increasingly, has come to be concerned with
established patterns as a means of solution implementation.
SOA
skills, slings and arrows
Mark Lorenz, principal software engineer with Fidelity Investments, says that to be a successful
software architect there are some pretty basic skills required, and they are not just for SOA. ''If
you don't understand the design patterns—for example, the Model View Controller (MVC) - and you are
not building an architecture that has separation of concerns, you are not ready to do services,''
he said." Lorenze has more about the importance of patterns in this piece.
Back to the top
SOA Design
Patterns
SOA Design Patterns by Thomas Erl contains hundreds of patterns for different aspects of
service-oriented architecture implementation. SearchSOA has syndicated seven of them, complete with
a detailed explanation of why they work and what problem they solve. The "Service Façade" pattern,
for example, decouples the contract and core logic. Below are links to seven of these
patterns:
Service
Façade
Canonical
Schema
Service
Decomposition
Service
Normalization
Domain
Inventory
Non-agnostic
context
Service
façade
Enterprise Integration
Patterns table of contents
Enterprise Integration Patterns by Gregor Hohpe is regarded as a modern classic of software
development. Find an index to every pattern in the book here, with a brief description of its
implementation and purpose as well as a visual diagram that shows how the individual pieces fit
together. These patterns are geared toward developing messaging systems.
A short summary of the patterns in Patterns of
Enterprise Application Architecture
Patterns of Enterprise Application Architecture by Martin Fowler, details about 40
architecture patterns, all of which have been tested and proven successful in real applications.
He's put summaries of all those patterns online in this useful index. The descriptions and diagrams
here provide a good example of how patterns are used, what they are used for, and can serve as a
jumping-off point for a more detailed study of pattern usage. These patterns or geared toward
object-oriented software design.
TOGAF Resource Base:
Architecture Patterns
The Open Group Architecture Framework (TOGAF) is a detailed method and a set of supporting tools
for developing an enterprise architecture. TOGAF recommends maintaining patterns as a resource for
accomplishing certain common tasks, but it does not include particular patterns in the formal TOGAF
document. Find TOGAF's thorough definition of patterns here, and learn how to define and organize
them within your organization.
Back to the top
This was first published in April 2010

Join the conversationComment
Share
Comments
Results
Contribute to the conversation