A Quick Look at Design Patterns
Here we will look at what a design pattern means, the difference between design pattern and idiom
What Is a Pattern?
A pattern describes a problem that frequently occurs in software design and implementation, Based on experience, describes the solution to that problem that is robust and reusable. In short, Design Patterns are introduced to document good design practices or experience. They are the knowledge and experience that can transfer from experts to the novice.
Just look at the four types of patterns:

1. Analysis Patterns – Analysis involves looking behind the surface of requirements to understand the problem. For Example:
- Type
- Observation
- Measurement
Groups of concepts that represent a common construction in business modeling.
-- Martin Fowler
2. Architecture Patterns- Expresses a fundamental structural organization schema for software systems. For example
- The Broker
- Blackboard
- Filters
- Pipes
3. Design Patterns- Sescribes a commonly recurring structure of communicating components that solves a general design problem within a particular context [Gamma et al. 1995 ]. For example :
- Strategy
- State
- Proxy patterns
- Command
- Template Method
- Abstract Factory
- Prototype
4. Idioms – An idiom is a low-level pattern specific to a programming language. For example -
- Handle – Body Idiom in C++
Reference: Pattern-Oriented Analysis and Design: Composing Patterns to Design Software Systems By Sherif M. Yacoub [ISBN=0201776405], Addison Wesley

Add A Comment
You must be logged in to post a comment.