Introduction to Design Patterns

From Training Material
Jump to navigation Jump to search


Introduction to Design Patterns⌘

  • A design pattern is a formal way of documenting a solution to a design problem in a particular field of expertise - it provides solution to common software design problems.
  • The idea was introduced by the architect Christopher Alexander in the field of architecture and has been adapted for various other disciplines, including computer science.

GoF - Gang of Four ⌘

ClipCapIt-140608-132455.PNG

Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, Design patterns : elements of reusable object-oriented software

GoF Design Patterns ⌘

  • Creational Patterns - how to create objects
    • Abstract Factory
    • Builder
    • Factory Matehod
    • Prototype
    • Singleton
  • Structural Patterns - how to create structures of objects
    • Adapter
    • Bridge
    • Composite
    • Decorator
    • Facade
    • Flyweight
    • Proxy

GoF Design Patterns ⌘

  • Behavioural Patterns - how to describe communication between objects
    • Chain of Responsibility
    • Command
    • Interpreter
    • Iterator
    • Mediator
    • Memento
    • Observer
    • State
    • Strategy
    • Template Method
    • Visitor

GoF Patterns Examples⌘