Version 0.3
Copyright © 2007 Lars Vogel
01.07.2009
| Revision History | ||
|---|---|---|
| Revision 0.1 | 02.07.2007 | Lars Vogel |
| Singleton, Observer | ||
| Revision 0.2 | 02.09.2007 | Lars Vogel |
| Facade introduced, Singleton with Enumerations | ||
| Revision 0.3 | 01.07.2009 | Lars Vogel |
| Moved every pattern to separate article, this article contains only the overview | ||
Design Pattern
Design Patterns are best practices how to solve common know problems. Since the publication of the book "Design Patterns" from the so-called Gang-of-Four (GOF) this topic did increase in popularity. This article will try to summarize same of these patterns and describes its application from the Java perspective.
Table of Contents
Design Pattern are proven solutions approaches to specific problems. A design pattern is not framework and is not directly deployed via code. .
The terminology of "Design Pattern" in software developed is based on the GOF (Gang of Four) book "Design Patterns - Elements of Reusable Object-Oriented Software" from Erich Gamma, Richard Helm, Ralph Johnson und John Vlissides das Buch.
Design Pattern have two main usages:
Common language for developers: They provide developer a common language for certain problems. For example if a developer tells another developer that he is using a Singleton, the another developer (should) know exactly what this means.
Capture best practices: Design patterns capture solutions which have been applied to certain problems. By learning these patterns and the problem they are trying to solve a unexperienced developer can learn a lot about software design.
Design pattern are based on on the basis principles of object orientated design.
Program to an interface not an implementation
Favor object composition over inheritance
Design Patterns can be divided into:
Creational Patterns
Structural Patterns
Behavioral Patterns
Please see the following description for details on the design pattern.
Before posting questions, please see the vogella FAQ . If you have questions or find an error in this article please use the www.vogella.de Google Group . I have created a short list how to create good questions which might also help you. .