SlideShare a Scribd company logo
DESIGN PATTERNS STORY
1
~ Arunkumar A
6-Mar-2015
FATHER OF PATTERNS
2
CHRISTOPHER ALEXANDER
The Timeless Way of Building, NewYork:
Oxford University Press, 1979.
3
Courtesy:Wikipedia
…is the father of the Pattern
Language movement in
Computer Science
DESIGN – GOOD OR BAD?
If a person were going to design an entryway for a
house,

How would he/she know that the design was good?

Can we know good design?

Is there an objective basis for such a judgment?

A basis for describing our common consensus?
4
DESIGN – GOOD … [CONTD.,]
What is present in a good quality design that is not
present in a poor quality design?
What is present in a poor quality design that is not
present in a good quality design?
5
PATTERNS?
6
WHAT IS A PATTERN?
Christopher’s definition,
A pattern is "a solution to a problem in a context":
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
7
DESCRIPTION OF A PATTERN

The name of the pattern

The purpose of the pattern, the problem it solves

How we could accomplish this

The constraints and forces we have to consider in order to
accomplish it
8
PATTERN EXAMPLE
9
COURTYARD
Courtyard (plural
courtyards)
an area, open to the
sky, partially or wholly
surrounded by walls or
buildings
10
Courtesy:Wikipedia
EXCERPTS FROM THE TIMELESS WAY OF
BUILDING
11
“In the same way, a courtyard, which is properly formed, helps people come to life in it “
A pattern always has a name and has a purpose. Here, the pattern's name is Courtyard,
and its purpose is to help energize people, to help them feel alive.
“Consider the forces at work in a courtyard. Most fundamental of all, people seek some
kind of private outdoor space, where they can sit under the sky, see the stars, enjoy the
sun, perhaps plant flowers. This is obvious. “
It is important to state explicitly the problem being solved, which is the reason for having
the pattern in the first place. This is what Alexander does here for Courtyard.
“But there are more subtle forces too. For instance, when a courtyard is too tightly
enclosed, has no view out, people feel uncomfortable, and tend to stay away ...they need
to see out into some larger and more distant space.”
He points out a difficulty with the simplified solution and then gives us a way to solve the
problem that he has just pointed out. Familiarity sometimes keeps us from seeing the
obvious. The value of a pattern is that those with less experience can take advantage of
what others have learned before them: both what must be included to have a good design,
and what must be avoided to keep from a poor design.
SOFTWARE DESIGN
PATTERNS
12
SOFTWARE DESIGN PATTERNS
Early 1990s,

Were there problems in software that occur over and over
again that could be solved in somewhat the same manner?

Was it possible to design software in terms of patterns,
creating specific solutions based on these patterns only after
the patterns had been identified?
13
GANG OF FOUR (GOF)
Gamma, E., Helm, R., Johnson,
R.,Vlissides, J.,
Design Patterns: Elements of
Reusable Object-Oriented
Software, Boston:Addison-
Wesley, 1995.
14
PATTERN
A Pattern has
• Name
• Intent
• Problem
• Solution
• Participants & Collaborators
• Consequences
• Implementation
• Generic diagram
15
23 GOF DESIGN PATTERNS16
Courtesy:flickr.com
WHY STUDY THEM?
17
WHY STUDY DESIGN PATTERNS?
18
Reuse solutions

get a head start on problems and avoid gotchas.

get the benefit of learning from the experience of others.

do not have to reinvent solutions for commonly recurring
problems.
Establish common terminology

Communication and teamwork require a common base of
vocabulary and a common viewpoint of the problem.
WHY …[CONTD.,]
19
Consider two carpenters discussing how to build the drawers
for some cabinets.
Carpenter 1: How do you think we should build these
drawers?
Carpenter 2: Well, I think we should make the joint by cutting
straight down into the wood, and then cut back up 45
degrees, and then going straight back down, and then back
up the other way 45 degrees, and then going straight back
down, and then…
WHY …[CONTD.,]
20
Consider a programmer describing,
“And then, I use a WHILE LOOP here to do…followed by a series
of IF statements to do…and here I use a SWITCH to handle…”
WHY …[CONTD.,]
21
Carpenter 1: “Should we use a dovetail joint or a miter joint?”
Courtesy:Wikipedia
WHY …[CONTD.,]
22
Carpenter 1: Should we use a dovetail joint or a miter joint?
The real question is
Should we use a joint that is expensive to make but is both
beautiful and durable, or should we just make a quick and
dirty joint that will last at least until the check clears?
Courtesy:Wikipedia
WHY …[CONTD.,]
23
Who is more efficient?
Who would you rather work with?
WHY …[CONTD.,]
24

Improve team communications and individual learning

Improved modifiability and maintainability of code

Design patterns illustrate basic object-oriented principles

Adoption of improved strategies even when patterns aren't
present
PATTERNS HELP
US SEE
THE FOREST &
THETREES
25
Design Patterns Explained : A New Perspective on
Object-Oriented Design, Second Edition
By Alan Shalloway, James R. Trott
Courtesy:Wikipedia
REFERENCES
26

More Related Content

PDF
What.is.design.slides
PDF
Design - A Collaborative Tool
PDF
Concept transformation problems
PPTX
Design ethos key aphorisms
PDF
GCurtis_IASummit_poster
PDF
3 Phase Design Model - Human Centred Design - Content Strategy Melbourne
PPT
PDF
What I talk about when I talk about Human Centred Design
What.is.design.slides
Design - A Collaborative Tool
Concept transformation problems
Design ethos key aphorisms
GCurtis_IASummit_poster
3 Phase Design Model - Human Centred Design - Content Strategy Melbourne
What I talk about when I talk about Human Centred Design

What's hot (8)

PPTX
How to be sexy as presenter
PDF
Anatomy of architectural design concept
PPTX
UX Trivia Night
PDF
Design studies research quotes
PPTX
I Love Patterns
PPTX
how to make architecture graduation project
PPTX
Employment branding is dead | Talent Connect Anaheim
PDF
Carpe Diem: Attention, Awareness, and Interaction Design 2009
How to be sexy as presenter
Anatomy of architectural design concept
UX Trivia Night
Design studies research quotes
I Love Patterns
how to make architecture graduation project
Employment branding is dead | Talent Connect Anaheim
Carpe Diem: Attention, Awareness, and Interaction Design 2009
Ad

Similar to Design Patterns Story (20)

PDF
Futurizing the Human Experience thru Inclusive Design: The Good People
PDF
Design Critique and Criticism
PDF
Design Thinking - NYU Ambition Conference
PDF
Introduction to Design Thinking Workshop
DOCX
A Design Thinking Workshop for the MSIS CoreCarl M. Briggs Ph..docx
PDF
27 creativity and innovation tools - in one-pagers!
PPT
Interaction Design Style (Part 5 of 5)
PDF
Understand Problems : Notes
PDF
My Design Theory
PDF
How2research
PDF
THEORY OF DESIGN
PDF
Don't let assumptions kill good ideas web con 2021
PPS
Increasing Innovation IQ
PDF
Dimensioning the Public Sacred by A Nelson 2012
PPT
Eduserv Digital Identities Workshop
PDF
Inclusive Design: Tools, technologies + strategies
PDF
Design for debate, an introduction to design fiction and my research topic (T...
PDF
What Design Cant Do Essays On Design And Disillusion Silvio Lorusso
PPTX
Playful Gray.pptx
PDF
Design Thinking Teacher Workshop- Shelter Challenges
Futurizing the Human Experience thru Inclusive Design: The Good People
Design Critique and Criticism
Design Thinking - NYU Ambition Conference
Introduction to Design Thinking Workshop
A Design Thinking Workshop for the MSIS CoreCarl M. Briggs Ph..docx
27 creativity and innovation tools - in one-pagers!
Interaction Design Style (Part 5 of 5)
Understand Problems : Notes
My Design Theory
How2research
THEORY OF DESIGN
Don't let assumptions kill good ideas web con 2021
Increasing Innovation IQ
Dimensioning the Public Sacred by A Nelson 2012
Eduserv Digital Identities Workshop
Inclusive Design: Tools, technologies + strategies
Design for debate, an introduction to design fiction and my research topic (T...
What Design Cant Do Essays On Design And Disillusion Silvio Lorusso
Playful Gray.pptx
Design Thinking Teacher Workshop- Shelter Challenges
Ad

Recently uploaded (20)

PDF
Univ-Connecticut-ChatGPT-Presentaion.pdf
PDF
NewMind AI Weekly Chronicles – August ’25 Week III
PPTX
O2C Customer Invoices to Receipt V15A.pptx
PPTX
Group 1 Presentation -Planning and Decision Making .pptx
PDF
A novel scalable deep ensemble learning framework for big data classification...
PPTX
1. Introduction to Computer Programming.pptx
PDF
1 - Historical Antecedents, Social Consideration.pdf
PPTX
The various Industrial Revolutions .pptx
PPTX
Chapter 5: Probability Theory and Statistics
PDF
TrustArc Webinar - Click, Consent, Trust: Winning the Privacy Game
PDF
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
PDF
Developing a website for English-speaking practice to English as a foreign la...
PPTX
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PDF
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
PDF
Web App vs Mobile App What Should You Build First.pdf
PDF
A contest of sentiment analysis: k-nearest neighbor versus neural network
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
A comparative study of natural language inference in Swahili using monolingua...
PPTX
OMC Textile Division Presentation 2021.pptx
Univ-Connecticut-ChatGPT-Presentaion.pdf
NewMind AI Weekly Chronicles – August ’25 Week III
O2C Customer Invoices to Receipt V15A.pptx
Group 1 Presentation -Planning and Decision Making .pptx
A novel scalable deep ensemble learning framework for big data classification...
1. Introduction to Computer Programming.pptx
1 - Historical Antecedents, Social Consideration.pdf
The various Industrial Revolutions .pptx
Chapter 5: Probability Theory and Statistics
TrustArc Webinar - Click, Consent, Trust: Winning the Privacy Game
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
Developing a website for English-speaking practice to English as a foreign la...
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
Web App vs Mobile App What Should You Build First.pdf
A contest of sentiment analysis: k-nearest neighbor versus neural network
Assigned Numbers - 2025 - Bluetooth® Document
A comparative study of natural language inference in Swahili using monolingua...
OMC Textile Division Presentation 2021.pptx

Design Patterns Story

  • 1. DESIGN PATTERNS STORY 1 ~ Arunkumar A 6-Mar-2015
  • 3. CHRISTOPHER ALEXANDER The Timeless Way of Building, NewYork: Oxford University Press, 1979. 3 Courtesy:Wikipedia …is the father of the Pattern Language movement in Computer Science
  • 4. DESIGN – GOOD OR BAD? If a person were going to design an entryway for a house,  How would he/she know that the design was good?  Can we know good design?  Is there an objective basis for such a judgment?  A basis for describing our common consensus? 4
  • 5. DESIGN – GOOD … [CONTD.,] What is present in a good quality design that is not present in a poor quality design? What is present in a poor quality design that is not present in a good quality design? 5
  • 7. WHAT IS A PATTERN? Christopher’s definition, A pattern is "a solution to a problem in a context": 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 7
  • 8. DESCRIPTION OF A PATTERN  The name of the pattern  The purpose of the pattern, the problem it solves  How we could accomplish this  The constraints and forces we have to consider in order to accomplish it 8
  • 10. COURTYARD Courtyard (plural courtyards) an area, open to the sky, partially or wholly surrounded by walls or buildings 10 Courtesy:Wikipedia
  • 11. EXCERPTS FROM THE TIMELESS WAY OF BUILDING 11 “In the same way, a courtyard, which is properly formed, helps people come to life in it “ A pattern always has a name and has a purpose. Here, the pattern's name is Courtyard, and its purpose is to help energize people, to help them feel alive. “Consider the forces at work in a courtyard. Most fundamental of all, people seek some kind of private outdoor space, where they can sit under the sky, see the stars, enjoy the sun, perhaps plant flowers. This is obvious. “ It is important to state explicitly the problem being solved, which is the reason for having the pattern in the first place. This is what Alexander does here for Courtyard. “But there are more subtle forces too. For instance, when a courtyard is too tightly enclosed, has no view out, people feel uncomfortable, and tend to stay away ...they need to see out into some larger and more distant space.” He points out a difficulty with the simplified solution and then gives us a way to solve the problem that he has just pointed out. Familiarity sometimes keeps us from seeing the obvious. The value of a pattern is that those with less experience can take advantage of what others have learned before them: both what must be included to have a good design, and what must be avoided to keep from a poor design.
  • 13. SOFTWARE DESIGN PATTERNS Early 1990s,  Were there problems in software that occur over and over again that could be solved in somewhat the same manner?  Was it possible to design software in terms of patterns, creating specific solutions based on these patterns only after the patterns had been identified? 13
  • 14. GANG OF FOUR (GOF) Gamma, E., Helm, R., Johnson, R.,Vlissides, J., Design Patterns: Elements of Reusable Object-Oriented Software, Boston:Addison- Wesley, 1995. 14
  • 15. PATTERN A Pattern has • Name • Intent • Problem • Solution • Participants & Collaborators • Consequences • Implementation • Generic diagram 15
  • 16. 23 GOF DESIGN PATTERNS16 Courtesy:flickr.com
  • 18. WHY STUDY DESIGN PATTERNS? 18 Reuse solutions  get a head start on problems and avoid gotchas.  get the benefit of learning from the experience of others.  do not have to reinvent solutions for commonly recurring problems. Establish common terminology  Communication and teamwork require a common base of vocabulary and a common viewpoint of the problem.
  • 19. WHY …[CONTD.,] 19 Consider two carpenters discussing how to build the drawers for some cabinets. Carpenter 1: How do you think we should build these drawers? Carpenter 2: Well, I think we should make the joint by cutting straight down into the wood, and then cut back up 45 degrees, and then going straight back down, and then back up the other way 45 degrees, and then going straight back down, and then…
  • 20. WHY …[CONTD.,] 20 Consider a programmer describing, “And then, I use a WHILE LOOP here to do…followed by a series of IF statements to do…and here I use a SWITCH to handle…”
  • 21. WHY …[CONTD.,] 21 Carpenter 1: “Should we use a dovetail joint or a miter joint?” Courtesy:Wikipedia
  • 22. WHY …[CONTD.,] 22 Carpenter 1: Should we use a dovetail joint or a miter joint? The real question is Should we use a joint that is expensive to make but is both beautiful and durable, or should we just make a quick and dirty joint that will last at least until the check clears? Courtesy:Wikipedia
  • 23. WHY …[CONTD.,] 23 Who is more efficient? Who would you rather work with?
  • 24. WHY …[CONTD.,] 24  Improve team communications and individual learning  Improved modifiability and maintainability of code  Design patterns illustrate basic object-oriented principles  Adoption of improved strategies even when patterns aren't present
  • 25. PATTERNS HELP US SEE THE FOREST & THETREES 25
  • 26. Design Patterns Explained : A New Perspective on Object-Oriented Design, Second Edition By Alan Shalloway, James R. Trott Courtesy:Wikipedia REFERENCES 26