A Quick Look at Design Patterns

Posted by admin on July 3, 2009 under Software Architect | Be the First to Comment







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:

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

Share This Post

Add A Comment

You must be logged in to post a comment.