Design Patterns - Introduction

Software Engineering

Design Patterns - Introduction

Created 3 years ago

Duration 0:02:55
lesson view count 580
Select the file type you wish to download
Slide Content
  1. Design Patterns Introduction

    Slide 1 - Design Patterns Introduction

    • Emerson Murphy-Hill
  2. Design Patterns

    Slide 2 - Design Patterns

    • Inspired by architect Christopher Alexander
    • “Each pattern describes a problem which occurs over and over again in our environment, and then describes the core of the solution to that problem, in such a way that you can use this solution a million times over, without ever doing it the same way twice.”
    • Design patterns are descriptions of communicating objects and classes that are customized to solve a general design problem in a particular context.
    • The design pattern identifies the participating classes and instances, their roles and collaborations, and the distribution of responsibilities
  3. Why Design Patterns?

    Slide 3 - Why Design Patterns?

    • Experienced designers
    • Rarely start from first principles
    • Apply a working “handbook” of approaches
    • Patterns capture and pass on the knowledge of these experienced designers
    • Software patterns are a first step toward a design handbook for software engineering
  4. Design Patterns

    Slide 4 - Design Patterns

    • “Gang of Four” book
    • Written in 1995 . . . a classic
    • 23 design patterns
    • There are hundreds of patterns in the literature
  5. Pattern Families (GOF)

    Slide 5 - Pattern Families (GOF)

    • Creational: Concerned with the process of object creation
    • Singleton
    • Factory Method
    • Structural: Deal with the composition of classes or objects
    • Composite
    • Adapter
    • Behavioral: Characterize the ways in which classes or objects interact and distribute responsibility
    • Observer
    • Strategy
    • State