|
Home / Professionals & Projects / IT Consulting / - Design Patterns
|
|
Design Patterns: Reusing architectures
|
 |
|
|
|
Contact
|
The need
For the software developer, the use of object-oriented methods means the rethinking of the
analysis and planning of software projects. With the increasing scope of solutions, the technical
architecture gains rapidly increasing significance in the overall planning process. The support of
planning with UML tools no longer even comes close to supporting the successful description of
enterprise-wide solutions.
The solution
In modern architectures, besides the classical approaches of object orientation, there are new
descriptive elements, the patterns for development called Design Patterns. Design Patterns are
generally understood to be procedures described by experts for recurring problems.
In practice, the use of Design patterns leads to a significant improvement in the structure of
software: Requirements like separation of layers or extensibility automatically result from the
thorough use of solution patterns. A relatively old example of Design Patterns is the
Model-View-Controller Pattern (MVC), which arose in the Smalltalk world and today is finding wide
use in the development of Java frameworks. The pattern reflects a simplification of the separation
of persistence, event control, and user interface, and can be seen as the basis for distributed
systems. Besides the MVC pattern, there are a number of other well-known patterns described by the
famous Gang of Four (GoF) Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides in many
books.
Different groups of patterns
Among software architects, the designs of the Gang of Four are highly regarded and are seen as
the basis for the successful use of development patterns. In all, the GoF describe 23 patterns,
which break down into three groups:
- Creation Design Patterns
describe the creation of objects,
- Structural Design Patterns
provide templates for the use of objects, and
- Behavioral Design Patterns
are responsible for the behavior of objects.
The groups of patterns named above reflect the experience of design experts and are seen as a
collection and catalog of patterns for the reuse of high-value designs. The overall concept of
object orientation with the techniques of encapsulation, inheritance, and polymorphism is thus
qualitatively extended by Design Patterns on a different level, that of architecture. Successful
object-oriented projects will always attempt to implement Design Patterns and to use
pattern-supporting frameworks as an architectural basis. An intensive encounter with Design
Patterns should be a component of architecture planning for the development of any enterprise-wide
solution. It is in any case sensible to take advantage of the experience of experts collected over
many years, and use the successful patterns.
Literature
Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides.
Entwurfsmuster, Elemente wiederverwendbarer Software.. Addison-Wesley 1996.
Frank Buschmann.
Pattern-orientierte Software-Architektur. Ein Pattern-System. Addison-Wesley 1998.
|
|