SlideShare a Scribd company logo
Prakash Sathiyamoorthy
Presentation Overview
 Introduction to Patterns
 Patterns are not only for C.Sc.
 Earliest Patterns.
 Patterns in C.Sc. To real life.
Patterns - What are they?
 Natural human thought process
 Helps to solve problems effectively
 Easy to recognize
 Has been in use for thousands of years
 We come across them everyday
Patterns - Not a C.Sc Subject
 Computer Science has adopted a version of Design
  Patterns.
 Design patterns are for everyone.
Earliest Patterns - 1
 Astronomical constellations
Earliest Patterns - 2
 Rangolis
If only C.Sc used Patterns 

Shortest path
connecting the dots !
Earliest Patterns - 3
 Periodic table of elements
Patterns in Nature - OOPS
 OOPS –

   Separation of responsibilities.
   Nothing much 
Example - OOPS
Imagine if you are a single person :

         building your own house,
         manufacturing your own car,
         cooking your own food,
         farming your own crops,
         stitching your own dresses,
         doing laundry,
         running your own transport,
         making your own televisions,
         running your own channels, etc. etc. etc….
OOPS !!! (literally) missed

making your own software !
Patterns in Nature - Singleton
 Problem: Controlling traffic in a road junction.
 Imagine having a police for every direction.

 Solution: Place one at the center.


 Example: Traffic police in junctions.


                                                Pic follows
Design Patterns - Inspirations From Nature
Patterns in Nature - Factory
 Problem: Imagine visiting every brand’s showroom
 separately i.e. Reebok, Peter England, etc.

 Solution: Keep every brand under one roof so it is
 easy to find everything in the same place.

 Example: Brand factory
Patterns in Nature - Builder
 Problem: A guy that’s wants to own a house most of
 the times cannot build himself/herself.

 Solution: Handover the responsibility of building the
 house to a builder who specializes in that.

 Example: Construction builder
Patterns in Nature - Prototype
 Problem: Imagine writing lecture notes laboriously
 during the lecture in college.

 Solution (Easy) : Take photocopies from the front row
 guys 

 Example: Xerox copies
Patterns in Nature - Pool
 Problem: Everyone wants to pick up the same book the
  subject lecturer announces. You cannot have infinite copies
  of a title. Even if you do, not all would be required.

 Solution: Have finite set of copies and keep circulating
  that.

 Examples:
    Lending books from library
    Cabs servicing customers
Patterns in Nature - Flyweight
 Problem: Making ice for every color is not only costly
  but also unnecessary.

 Solution: Have ice separately so it is easy to mix the
  essence which differs among orders.

 Example: ice gola (Pic follows)
Design Patterns - Inspirations From Nature
Patterns in Nature - Composite
 Some patterns are hard to explain and this is one of
 them, so lets skip 
Patterns in Nature - Adapter
 Problem: You reach US and try to connect your
 Laptop you purchased in India and end up in trouble.

 Solution: You get a India-US plug adapter that can
 connect your plug to the wall socket.
Patterns in Nature - Decorator
 Problem: Well, there are no problems here actually.


 Solution: A solution is not required when there is no
 problem  So a decorator just adds up to the beauty of
 the original. May be having undecorated could be
 scary 

 Example: suspense here, next slide
And he is the
“Decorator”
Patterns in Nature - Proxy
 Problem: Original may be presented later until
  absolutely required.

 Solution: Place a substitute for time being.


 Example:
    Proxy attendance, reserving bus seat with kerchief
     (could be any piece of cloth actually )
Bus seat reservation with kerchief
Patterns in Nature - Bridge
 Remember, some patterns cannot be explained so
 easily? This is the second one, so we’ll skip.
Patterns in Nature - Facade
 Problem: Hide the complexity and expose a much
 simpler and a easy to understand look.

 Solution: Cover the complex portion with a thing that
 looks simpler and beautiful.

 Example: A modern building’s façade


                                            Pic follows
Design Patterns - Inspirations From Nature
Patterns in Nature - COR
 Problem: One person/entity is burdened with all the
  responsibilities.

 Solution: Delegate the individual responsibilities so that
  one person/entity is not burdened with all the work.

 Examples:

    A typical hotel scenario – biller -> Server -> Cook
    A government office – extended COR 
Patterns in Nature - Template
 Problem: Making commonly used patterns is time consuming

 Solution: Avoid commonly used but time consuming work by
  having a ready made shape that can be used as a reference to
  make the intended one easily

 Examples:
    Stencils in school
    Painting templates


   Do you realize how early you
   started applying design patterns?
Patterns in Nature - Interpreter
 Problem: Need a dedicated way of handling a small
 domain related work.

 Solution: Define a domain specific language, the
 grammar, rules for interpretation, etc.

 Example: Language used in avatar (Na'vi) : Define a
 domain’s own language and the interpretation rules.
Patterns in Nature - Command
 Problem: Need a command in between that will
 shorten things up. Imagine every customer of hotel
 talking to the cook directly !

 Solution: Have a person/thing in between who can
 take the command and delegate the request and
 handle it back.

 Example: A server in hotel – One who takes the
 request is not the one that does the actual work.
Patterns in Nature - Iterator
 Problem: Need a easy way to visit every member of a
 group.

 Solution: Have a representation of the collection so it
 is easy to callout each person.

 Example: An attendance register.
Patterns in Nature - Mediator
 Problem: Need to mediate things so that the
 individual entities can have easy and effective
 communication.

 Solution: Place a mediator who will mediate between
 the things. In our example, quikrr or ebay mediates
 between buyers and sellers.

 Example: Quikrrrrrrrrrrr, ebay
Patterns in Nature - Memento
 Problem: Need to keep a memory for every occasion
 so it is easy to recollect later.

 Solution: Have a memento for every occasion.


 Example: from Ramayana, next slide.
Aaranya Kand
                              1. Sita asks Rama to fetch the deer for her




2. Maricha (the daemon) shouts in the voice of
Rama asking for Lakshmana for help.
3. Lakshman draws the restricted boundary line
                              for Sita.




4.Ravana makes Sita to cross the line so that he can
abduct her.




                              5. Ravana succeeds in abducting Sita
Sita is in deep trouble

Now comes the “Memento” design pattern to Sita’s
rescue.


                                        6. Sita keeps throwing her
                                        ornaments (mementos) for
                                        Rama to trace the route to find
                                        her !




No computer program would have applied this pattern before Sita did 
Conclusion

•So, Design Patterns are definitely not invented for
Computer Science !

•We see, hear, experience and come across many patterns
in our daily life.

•Gang-Of-Four patterns are not the complete list of
patterns.
Thank You !
Prakash.sathiyamoorthy@gmail.com

More Related Content

PPT
Patterns in Nature
PPTX
Patterns in nature
PPTX
The Nature Of Patterns
PPT
Natural patterns powerpoint
PDF
Seeing Math Patterns in Nature
PPTX
PPTX
Patterns
PPTX
Growing Patterns
Patterns in Nature
Patterns in nature
The Nature Of Patterns
Natural patterns powerpoint
Seeing Math Patterns in Nature
Patterns
Growing Patterns

Viewers also liked (8)

PPSX
Patterns number and geometric
PPTX
Repeating and growing patterns
PPTX
Nature of sociology
PPT
Types Of Flower
PPTX
Math in nature
PPT
Flowers
PDF
Visual Design with Data
PDF
How to Become a Thought Leader in Your Niche
Patterns number and geometric
Repeating and growing patterns
Nature of sociology
Types Of Flower
Math in nature
Flowers
Visual Design with Data
How to Become a Thought Leader in Your Niche
Ad

Similar to Design Patterns - Inspirations From Nature (20)

DOCX
Unit iii design patterns 9
PPT
Class (1)
PPT
Design Pattern
PPT
Design Patterns
PDF
Joe's Pattern Writing
PDF
Pattern by Amiina Bakunowicz
PDF
Module 2 design patterns-2
PDF
POWER POINT IN PATTERN IN NATURE.pdf
PPT
The Planet Way
PPT
Patterns Workshop
PDF
Patterns Overview
PDF
Discovering patterns
PPTX
Lesson-1-Patterns-in-nature mathematics.pptx
PPTX
Cs 1023 lec 9 design pattern (week 2)
PPTX
mathematics in the modern world study of patterns
PDF
“The Future of Pattern Language: Soft Social Infrastructure to Allow Freedom ...
PPT
test download file iehle-Zullighoven-p235.ppt
PPT
Design Patterns.ppt
PDF
Introduction to Design Pattern
PPTX
Design Patterns
Unit iii design patterns 9
Class (1)
Design Pattern
Design Patterns
Joe's Pattern Writing
Pattern by Amiina Bakunowicz
Module 2 design patterns-2
POWER POINT IN PATTERN IN NATURE.pdf
The Planet Way
Patterns Workshop
Patterns Overview
Discovering patterns
Lesson-1-Patterns-in-nature mathematics.pptx
Cs 1023 lec 9 design pattern (week 2)
mathematics in the modern world study of patterns
“The Future of Pattern Language: Soft Social Infrastructure to Allow Freedom ...
test download file iehle-Zullighoven-p235.ppt
Design Patterns.ppt
Introduction to Design Pattern
Design Patterns
Ad

Recently uploaded (20)

PDF
Computing-Curriculum for Schools in Ghana
PDF
A GUIDE TO GENETICS FOR UNDERGRADUATE MEDICAL STUDENTS
PDF
My India Quiz Book_20210205121199924.pdf
PDF
RTP_AR_KS1_Tutor's Guide_English [FOR REPRODUCTION].pdf
PDF
AI-driven educational solutions for real-life interventions in the Philippine...
PPTX
Introduction to Building Materials
PPTX
202450812 BayCHI UCSC-SV 20250812 v17.pptx
PDF
ChatGPT for Dummies - Pam Baker Ccesa007.pdf
PPTX
ELIAS-SEZIURE AND EPilepsy semmioan session.pptx
PDF
BP 704 T. NOVEL DRUG DELIVERY SYSTEMS (UNIT 1)
PDF
OBE - B.A.(HON'S) IN INTERIOR ARCHITECTURE -Ar.MOHIUDDIN.pdf
PDF
احياء السادس العلمي - الفصل الثالث (التكاثر) منهج متميزين/كلية بغداد/موهوبين
PDF
Τίμαιος είναι φιλοσοφικός διάλογος του Πλάτωνα
PPTX
History, Philosophy and sociology of education (1).pptx
PDF
HVAC Specification 2024 according to central public works department
PDF
David L Page_DCI Research Study Journey_how Methodology can inform one's prac...
PDF
medical_surgical_nursing_10th_edition_ignatavicius_TEST_BANK_pdf.pdf
PPTX
Computer Architecture Input Output Memory.pptx
PPTX
A powerpoint presentation on the Revised K-10 Science Shaping Paper
PDF
FOISHS ANNUAL IMPLEMENTATION PLAN 2025.pdf
Computing-Curriculum for Schools in Ghana
A GUIDE TO GENETICS FOR UNDERGRADUATE MEDICAL STUDENTS
My India Quiz Book_20210205121199924.pdf
RTP_AR_KS1_Tutor's Guide_English [FOR REPRODUCTION].pdf
AI-driven educational solutions for real-life interventions in the Philippine...
Introduction to Building Materials
202450812 BayCHI UCSC-SV 20250812 v17.pptx
ChatGPT for Dummies - Pam Baker Ccesa007.pdf
ELIAS-SEZIURE AND EPilepsy semmioan session.pptx
BP 704 T. NOVEL DRUG DELIVERY SYSTEMS (UNIT 1)
OBE - B.A.(HON'S) IN INTERIOR ARCHITECTURE -Ar.MOHIUDDIN.pdf
احياء السادس العلمي - الفصل الثالث (التكاثر) منهج متميزين/كلية بغداد/موهوبين
Τίμαιος είναι φιλοσοφικός διάλογος του Πλάτωνα
History, Philosophy and sociology of education (1).pptx
HVAC Specification 2024 according to central public works department
David L Page_DCI Research Study Journey_how Methodology can inform one's prac...
medical_surgical_nursing_10th_edition_ignatavicius_TEST_BANK_pdf.pdf
Computer Architecture Input Output Memory.pptx
A powerpoint presentation on the Revised K-10 Science Shaping Paper
FOISHS ANNUAL IMPLEMENTATION PLAN 2025.pdf

Design Patterns - Inspirations From Nature

  • 2. Presentation Overview  Introduction to Patterns  Patterns are not only for C.Sc.  Earliest Patterns.  Patterns in C.Sc. To real life.
  • 3. Patterns - What are they?  Natural human thought process  Helps to solve problems effectively  Easy to recognize  Has been in use for thousands of years  We come across them everyday
  • 4. Patterns - Not a C.Sc Subject  Computer Science has adopted a version of Design Patterns.  Design patterns are for everyone.
  • 5. Earliest Patterns - 1  Astronomical constellations
  • 6. Earliest Patterns - 2  Rangolis
  • 7. If only C.Sc used Patterns  Shortest path connecting the dots !
  • 8. Earliest Patterns - 3  Periodic table of elements
  • 9. Patterns in Nature - OOPS  OOPS –  Separation of responsibilities.  Nothing much 
  • 10. Example - OOPS Imagine if you are a single person : building your own house, manufacturing your own car, cooking your own food, farming your own crops, stitching your own dresses, doing laundry, running your own transport, making your own televisions, running your own channels, etc. etc. etc….
  • 11. OOPS !!! (literally) missed making your own software !
  • 12. Patterns in Nature - Singleton  Problem: Controlling traffic in a road junction. Imagine having a police for every direction.  Solution: Place one at the center.  Example: Traffic police in junctions. Pic follows
  • 14. Patterns in Nature - Factory  Problem: Imagine visiting every brand’s showroom separately i.e. Reebok, Peter England, etc.  Solution: Keep every brand under one roof so it is easy to find everything in the same place.  Example: Brand factory
  • 15. Patterns in Nature - Builder  Problem: A guy that’s wants to own a house most of the times cannot build himself/herself.  Solution: Handover the responsibility of building the house to a builder who specializes in that.  Example: Construction builder
  • 16. Patterns in Nature - Prototype  Problem: Imagine writing lecture notes laboriously during the lecture in college.  Solution (Easy) : Take photocopies from the front row guys   Example: Xerox copies
  • 17. Patterns in Nature - Pool  Problem: Everyone wants to pick up the same book the subject lecturer announces. You cannot have infinite copies of a title. Even if you do, not all would be required.  Solution: Have finite set of copies and keep circulating that.  Examples:  Lending books from library  Cabs servicing customers
  • 18. Patterns in Nature - Flyweight  Problem: Making ice for every color is not only costly but also unnecessary.  Solution: Have ice separately so it is easy to mix the essence which differs among orders.  Example: ice gola (Pic follows)
  • 20. Patterns in Nature - Composite  Some patterns are hard to explain and this is one of them, so lets skip 
  • 21. Patterns in Nature - Adapter  Problem: You reach US and try to connect your Laptop you purchased in India and end up in trouble.  Solution: You get a India-US plug adapter that can connect your plug to the wall socket.
  • 22. Patterns in Nature - Decorator  Problem: Well, there are no problems here actually.  Solution: A solution is not required when there is no problem  So a decorator just adds up to the beauty of the original. May be having undecorated could be scary   Example: suspense here, next slide
  • 23. And he is the “Decorator”
  • 24. Patterns in Nature - Proxy  Problem: Original may be presented later until absolutely required.  Solution: Place a substitute for time being.  Example:  Proxy attendance, reserving bus seat with kerchief (could be any piece of cloth actually ) Bus seat reservation with kerchief
  • 25. Patterns in Nature - Bridge  Remember, some patterns cannot be explained so easily? This is the second one, so we’ll skip.
  • 26. Patterns in Nature - Facade  Problem: Hide the complexity and expose a much simpler and a easy to understand look.  Solution: Cover the complex portion with a thing that looks simpler and beautiful.  Example: A modern building’s façade Pic follows
  • 28. Patterns in Nature - COR  Problem: One person/entity is burdened with all the responsibilities.  Solution: Delegate the individual responsibilities so that one person/entity is not burdened with all the work.  Examples:  A typical hotel scenario – biller -> Server -> Cook  A government office – extended COR 
  • 29. Patterns in Nature - Template  Problem: Making commonly used patterns is time consuming  Solution: Avoid commonly used but time consuming work by having a ready made shape that can be used as a reference to make the intended one easily  Examples:  Stencils in school  Painting templates Do you realize how early you started applying design patterns?
  • 30. Patterns in Nature - Interpreter  Problem: Need a dedicated way of handling a small domain related work.  Solution: Define a domain specific language, the grammar, rules for interpretation, etc.  Example: Language used in avatar (Na'vi) : Define a domain’s own language and the interpretation rules.
  • 31. Patterns in Nature - Command  Problem: Need a command in between that will shorten things up. Imagine every customer of hotel talking to the cook directly !  Solution: Have a person/thing in between who can take the command and delegate the request and handle it back.  Example: A server in hotel – One who takes the request is not the one that does the actual work.
  • 32. Patterns in Nature - Iterator  Problem: Need a easy way to visit every member of a group.  Solution: Have a representation of the collection so it is easy to callout each person.  Example: An attendance register.
  • 33. Patterns in Nature - Mediator  Problem: Need to mediate things so that the individual entities can have easy and effective communication.  Solution: Place a mediator who will mediate between the things. In our example, quikrr or ebay mediates between buyers and sellers.  Example: Quikrrrrrrrrrrr, ebay
  • 34. Patterns in Nature - Memento  Problem: Need to keep a memory for every occasion so it is easy to recollect later.  Solution: Have a memento for every occasion.  Example: from Ramayana, next slide.
  • 35. Aaranya Kand 1. Sita asks Rama to fetch the deer for her 2. Maricha (the daemon) shouts in the voice of Rama asking for Lakshmana for help.
  • 36. 3. Lakshman draws the restricted boundary line for Sita. 4.Ravana makes Sita to cross the line so that he can abduct her. 5. Ravana succeeds in abducting Sita
  • 37. Sita is in deep trouble Now comes the “Memento” design pattern to Sita’s rescue. 6. Sita keeps throwing her ornaments (mementos) for Rama to trace the route to find her ! No computer program would have applied this pattern before Sita did 
  • 38. Conclusion •So, Design Patterns are definitely not invented for Computer Science ! •We see, hear, experience and come across many patterns in our daily life. •Gang-Of-Four patterns are not the complete list of patterns.