Professionals & Projects Managed Services Solutions Industries
Consist Logo
Pushing IT forward!
Consist - title page
Search:
Deutsche Version
About us
Info Center
Download Center
Press Service
Design Patterns: Reusing architectures

Design Patterns: Reusing architectures

Contact

photo
Dr. Ingo Büll
+49 (0)431 / 3993-554
buell@consist.de
Contact Form
Print

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.

consistlogo2