SlideShare a Scribd company logo
1 of 24
Download to read offline
This presentation is the intellectual property of Infospectrum India Private Limited. Any unauthorized use, dissemination of
Infosp ctrum                   the information, or copying of this presentation, in whole or in part, without the express written permission of Infospectrum
                               India Private Limited is prohibited. Please send an email to info@info-spectrum.com to obtain written authorization
 a spectrum of possibilities
What is Design Pattern
                                      Design pattern is a general reusable
                                      solution to a commonly occurring
                                      problem in software design.

                                      A design pattern is not a finished
                                      design that can be transformed
                                      directly into code. It is a description
                                      or template for how to solve a
                                      problem that can be used in many
                                      different situations.

Infosp ctrum
 a spectrum of possibilities
                                                                        chetangole.com
Infosp ctrum
 a spectrum of possibilities
                               chetangole.com
History
    Civil Engineer
    Christopher Alexander.




       Gang of four : Erich Gamma, Richard Helm,
        Ralph Johnson, and John Vlissides
Infosp ctrum
 a spectrum of possibilities
                                                   chetangole.com
Why Design Patterns
     • To design a new software system quickly and
       efficiently.
     • To understand a existing software system.




Infosp ctrum
 a spectrum of possibilities
                                                     chetangole.com
Types of Design Pattern
     • Creational Design pattern
             – Object creation.
     • Structural design patterns
             – Relationship between entities.
     • Behavioural design patterns
             – Communication between objects.



Infosp ctrum
 a spectrum of possibilities
                                                         chetangole.com
Observer Design Pattern
     • Observer Design Pattern is a software design
       pattern in which an object, called the subject,
       maintains a list of its dependents, called
       observers, and notifies them automatically of
       any state changes, usually by calling one of
       their methods.
     • Type : Behavioral pattern.


Infosp ctrum
 a spectrum of possibilities
                                                         chetangole.com
Factory Design Pattern
     • Define an interface for creating an object, but
       let the subclasses decide which class to
       instantiate. The Factory method lets a class
       defer instantiation to subclasses.
     • Type : Creational pattern.




Infosp ctrum
 a spectrum of possibilities
                                                        chetangole.com
Singleton Design Pattern
     • Ensure a class has only one instance, and
       provide a global point of access to it.
     • Encapsulated “just-in-time initialization” or
       “initialization on first use”.
     • Type : Creational pattern.




Infosp ctrum
 a spectrum of possibilities
                                                          chetangole.com
UML Diagram for Singleton




Infosp ctrum
 a spectrum of possibilities
                                                   chetangole.com
Strategy Design pattern

       The strategy pattern (also known as the policy
       pattern) is a particular software design pattern,
       whereby algorithms can be selected at runtime.

       Type : Behavioral pattern.


Infosp ctrum
 a spectrum of possibilities
                                                         chetangole.com
Adaptor Design pattern

           The adapter pattern (often referred to as the
           wrapper pattern or simply a wrapper) is a
           design pattern that translates one interface
           for a class into a compatible interface.




Infosp ctrum
 a spectrum of possibilities
                                                        chetangole.com
Proxy Design Pattern
           A proxy, in its most general form, is a class
           functioning as an interface to something else.
           The proxy could interface to anything: a
           network connection, a large object in memory,
           a file, or some other resource that is
           expensive or impossible to duplicate.
           Type : Structural pattern.

Infosp ctrum
 a spectrum of possibilities
Chain of responsibilities
        The chain-of-responsibility pattern is a design
        pattern consisting of a source of command objects
        and a series of processing objects. Each processing
        object contains a set of logic that describes the types
        of command objects that it can handle and how to
        pass off those that it cannot to the next processing
        object in the chain
        Type : Behavioral pattern.


Infosp ctrum
 a spectrum of possibilities
                                                           chetangole.com
Decorator Design pattern

           The decorator pattern is a design pattern that
           allows new/additional behaviour to be added
           to an existing object dynamically.

           Type: Structural patterns

Infosp ctrum
 a spectrum of possibilities
                                                      chetangole.com
Template method pattern
           A template method defines the program
           skeleton of an algorithm. One or more of the
           algorithm steps are able to be overridden by
           subclasses to provide their own concrete
           implementation.

           Type : Behavioral Design Pattern.


Infosp ctrum
 a spectrum of possibilities
                                                     chetangole.com
Builder pattern
           The intention is to abstract steps of
           construction of objects so that different
           implementations of these steps can construct
           different representations of objects.

           Type : Creational Design Pattern.



Infosp ctrum
 a spectrum of possibilities
                                                     chetangole.com
Façade pattern
           A facade is an object that provides a
           simplified interface to a larger body of code,
           such as a class library.

           Type: Structural Design Pattern.




Infosp ctrum
 a spectrum of possibilities
                                                       chetangole.com
Iterator pattern
           The Iterator pattern is a design pattern in
           which iterators are used to access the
           elements of an aggregate object sequentially
           without exposing its underlying
           representation.
           An Iterator object encapsulates the internal
           structure of how the iteration occurs.
           Type : Behavioral Design Pattern.

Infosp ctrum
 a spectrum of possibilities
                                                     chetangole.com
Mediator Pattern
     • Behavioural pattern
     • Definition
             – With the mediator pattern communication
               between objects is encapsulated with a mediator
               object. Objects no longer communicate directly
               with each other , but instead communicate
               through the mediator . This results in a more
               cohesive implementation of the logic and
               decreased coupling between the other objects.

Infosp ctrum
 a spectrum of possibilities
                                                           chetangole.com
Flyweight Pattern
     • Structural Pattern
     • Definition
             – The Flyweight pattern provides a mechanism by
               which you can avoid creating a large number of
               'expensive' objects and instead reuse existing
               instances to represent new ones.




Infosp ctrum
 a spectrum of possibilities
                                                           chetangole.com
Prototype pattern
     • Creational pattern.
     • Definition
             – The Prototype pattern is basically the creation of
               new instances through cloning existing instances.
               By creating a prototype, new objects are created
               by copying this prototype.




Infosp ctrum
 a spectrum of possibilities
                                                              chetangole.com
State Pattern
     • Behavioral patterns
     • Definition
             – The State pattern allows an object to alter its
               behaviour when its internal state changes. By
               using inheritance and letting subclasses represent
               different states and functionality we can switch
               during runtime. This is a clean way for an object to
               partially change its type at runtime.


Infosp ctrum
 a spectrum of possibilities
                                                               chetangole.com
Thank you…..
  • Good read about Design Patterns
          –    http://en.wikipedia.org/wiki/Design_pattern_(computer_science)
          –    http://sourcemaking.com/design_patterns
          –    http://java.sun.com/blueprints/patterns/index.html
          –    http://www.codeproject.com/KB/architecture/#Design Patterns
          –    http://msdn.microsoft.com/en-us/magazine/cc301852.aspx
          –    http://www.javacamp.org/designPattern/
          –    http://www.javaworld.com/channel_content/jw-patterns-index.html
          –    http://www.ibm.com/developerworks/java/tutorials/j-patterns201/
  • About me
          – Email: chetangole@gmail.com
          – Web : chetangole.com
                If this presentation contains your copyrighted material please contact me at : chetangole@gmail.com




                                       This presentation is the intellectual property of Infospectrum India Private Limited. Any unauthorized use, dissemination of
Infosp ctrum                           the information, or copying of this presentation, in whole or in part, without the express written permission of Infospectrum
                                       India Private Limited is prohibited. Please send an email to info@info-spectrum.com to obtain written authorization
 a spectrum of possibilities

More Related Content

What's hot

Creational pattern
Creational patternCreational pattern
Creational patternHimanshu
 
Software Engineering - chp4- design patterns
Software Engineering - chp4- design patternsSoftware Engineering - chp4- design patterns
Software Engineering - chp4- design patternsLilia Sfaxi
 
Software design patterns ppt
Software design patterns pptSoftware design patterns ppt
Software design patterns pptmkruthika
 
Gof design pattern
Gof design patternGof design pattern
Gof design patternnaveen kumar
 
The Singleton Pattern Presentation
The Singleton Pattern PresentationThe Singleton Pattern Presentation
The Singleton Pattern PresentationJAINIK PATEL
 
Design Pattern - Singleton Pattern
Design Pattern - Singleton PatternDesign Pattern - Singleton Pattern
Design Pattern - Singleton PatternMudasir Qazi
 
Singleton design pattern
Singleton design patternSingleton design pattern
Singleton design pattern11prasoon
 
Design Pattern For C# Part 1
Design Pattern For C# Part 1Design Pattern For C# Part 1
Design Pattern For C# Part 1Shahzad
 
Design Pattern in Software Engineering
Design Pattern in Software EngineeringDesign Pattern in Software Engineering
Design Pattern in Software EngineeringManish Kumar
 
Introduction to Design Patterns and Singleton
Introduction to Design Patterns and SingletonIntroduction to Design Patterns and Singleton
Introduction to Design Patterns and SingletonJonathan Simon
 
Java Design Patterns Tutorial | Edureka
Java Design Patterns Tutorial | EdurekaJava Design Patterns Tutorial | Edureka
Java Design Patterns Tutorial | EdurekaEdureka!
 

What's hot (20)

Gof design patterns
Gof design patternsGof design patterns
Gof design patterns
 
Creational pattern
Creational patternCreational pattern
Creational pattern
 
Design patterns tutorials
Design patterns tutorialsDesign patterns tutorials
Design patterns tutorials
 
Software Engineering - chp4- design patterns
Software Engineering - chp4- design patternsSoftware Engineering - chp4- design patterns
Software Engineering - chp4- design patterns
 
Design pattern
Design patternDesign pattern
Design pattern
 
Design Pattern
Design PatternDesign Pattern
Design Pattern
 
Facade pattern
Facade patternFacade pattern
Facade pattern
 
Software Design Patterns
Software Design PatternsSoftware Design Patterns
Software Design Patterns
 
Design patterns
Design patternsDesign patterns
Design patterns
 
Software design patterns ppt
Software design patterns pptSoftware design patterns ppt
Software design patterns ppt
 
Gof design pattern
Gof design patternGof design pattern
Gof design pattern
 
The Singleton Pattern Presentation
The Singleton Pattern PresentationThe Singleton Pattern Presentation
The Singleton Pattern Presentation
 
Design Pattern - Singleton Pattern
Design Pattern - Singleton PatternDesign Pattern - Singleton Pattern
Design Pattern - Singleton Pattern
 
Singleton design pattern
Singleton design patternSingleton design pattern
Singleton design pattern
 
Design Pattern For C# Part 1
Design Pattern For C# Part 1Design Pattern For C# Part 1
Design Pattern For C# Part 1
 
Design Pattern in Software Engineering
Design Pattern in Software EngineeringDesign Pattern in Software Engineering
Design Pattern in Software Engineering
 
Adapter Design Pattern
Adapter Design PatternAdapter Design Pattern
Adapter Design Pattern
 
Introduction to Design Patterns and Singleton
Introduction to Design Patterns and SingletonIntroduction to Design Patterns and Singleton
Introduction to Design Patterns and Singleton
 
Adapter Pattern
Adapter PatternAdapter Pattern
Adapter Pattern
 
Java Design Patterns Tutorial | Edureka
Java Design Patterns Tutorial | EdurekaJava Design Patterns Tutorial | Edureka
Java Design Patterns Tutorial | Edureka
 

Viewers also liked

Design Patterns Illustrated
Design Patterns IllustratedDesign Patterns Illustrated
Design Patterns IllustratedHerman Peeren
 
Design Patterns
Design PatternsDesign Patterns
Design Patternssoms_1
 
Design Patterns For 70% Of Programmers In The World
Design Patterns For 70% Of Programmers In The WorldDesign Patterns For 70% Of Programmers In The World
Design Patterns For 70% Of Programmers In The WorldSaurabh Moody
 
Design Patterns & JDK Examples
Design Patterns & JDK ExamplesDesign Patterns & JDK Examples
Design Patterns & JDK ExamplesEnder Aydin Orak
 
JavaFX 2 - A Java Developer's Guide (San Antonio JUG Version)
JavaFX 2 - A Java Developer's Guide (San Antonio JUG Version)JavaFX 2 - A Java Developer's Guide (San Antonio JUG Version)
JavaFX 2 - A Java Developer's Guide (San Antonio JUG Version)Stephen Chin
 
Java Course 11: Design Patterns
Java Course 11: Design PatternsJava Course 11: Design Patterns
Java Course 11: Design PatternsAnton Keks
 
Design Pattern introduction
Design Pattern introductionDesign Pattern introduction
Design Pattern introductionneuros
 
Designing and using group software through patterns
Designing and using group software through patternsDesigning and using group software through patterns
Designing and using group software through patternsKyle Mathews
 
Sofwear deasign and need of design pattern
Sofwear deasign and need of design patternSofwear deasign and need of design pattern
Sofwear deasign and need of design patternchetankane
 
Behavioral Design Patterns
Behavioral Design PatternsBehavioral Design Patterns
Behavioral Design PatternsLidan Hifi
 
PATTERNS05 - Guidelines for Choosing a Design Pattern
PATTERNS05 - Guidelines for Choosing a Design PatternPATTERNS05 - Guidelines for Choosing a Design Pattern
PATTERNS05 - Guidelines for Choosing a Design PatternMichael Heron
 
Factory design pattern
Factory design patternFactory design pattern
Factory design patternFarhad Safarov
 
Design pattern
Design patternDesign pattern
Design patternOmar Isaid
 
Design Pattern - Introduction
Design Pattern - IntroductionDesign Pattern - Introduction
Design Pattern - IntroductionMudasir Qazi
 
Generalized Functors - Realizing Command Design Pattern in C++
Generalized Functors - Realizing Command Design Pattern in C++Generalized Functors - Realizing Command Design Pattern in C++
Generalized Functors - Realizing Command Design Pattern in C++ppd1961
 
Design Patterns - Abstract Factory Pattern
Design Patterns - Abstract Factory PatternDesign Patterns - Abstract Factory Pattern
Design Patterns - Abstract Factory PatternMudasir Qazi
 
Floor plan for cashew factory by sotonye anga
Floor plan for cashew factory by sotonye angaFloor plan for cashew factory by sotonye anga
Floor plan for cashew factory by sotonye angaSotonye anga
 

Viewers also liked (20)

Design Patterns Illustrated
Design Patterns IllustratedDesign Patterns Illustrated
Design Patterns Illustrated
 
Design Patterns
Design PatternsDesign Patterns
Design Patterns
 
Design Patterns For 70% Of Programmers In The World
Design Patterns For 70% Of Programmers In The WorldDesign Patterns For 70% Of Programmers In The World
Design Patterns For 70% Of Programmers In The World
 
Template Method Design Pattern
Template Method Design PatternTemplate Method Design Pattern
Template Method Design Pattern
 
Design Patterns (Examples in .NET)
Design Patterns (Examples in .NET)Design Patterns (Examples in .NET)
Design Patterns (Examples in .NET)
 
Design Patterns & JDK Examples
Design Patterns & JDK ExamplesDesign Patterns & JDK Examples
Design Patterns & JDK Examples
 
JavaFX 2 - A Java Developer's Guide (San Antonio JUG Version)
JavaFX 2 - A Java Developer's Guide (San Antonio JUG Version)JavaFX 2 - A Java Developer's Guide (San Antonio JUG Version)
JavaFX 2 - A Java Developer's Guide (San Antonio JUG Version)
 
Design pattern
Design patternDesign pattern
Design pattern
 
Java Course 11: Design Patterns
Java Course 11: Design PatternsJava Course 11: Design Patterns
Java Course 11: Design Patterns
 
Design Pattern introduction
Design Pattern introductionDesign Pattern introduction
Design Pattern introduction
 
Designing and using group software through patterns
Designing and using group software through patternsDesigning and using group software through patterns
Designing and using group software through patterns
 
Sofwear deasign and need of design pattern
Sofwear deasign and need of design patternSofwear deasign and need of design pattern
Sofwear deasign and need of design pattern
 
Behavioral Design Patterns
Behavioral Design PatternsBehavioral Design Patterns
Behavioral Design Patterns
 
PATTERNS05 - Guidelines for Choosing a Design Pattern
PATTERNS05 - Guidelines for Choosing a Design PatternPATTERNS05 - Guidelines for Choosing a Design Pattern
PATTERNS05 - Guidelines for Choosing a Design Pattern
 
Factory design pattern
Factory design patternFactory design pattern
Factory design pattern
 
Design pattern
Design patternDesign pattern
Design pattern
 
Design Pattern - Introduction
Design Pattern - IntroductionDesign Pattern - Introduction
Design Pattern - Introduction
 
Generalized Functors - Realizing Command Design Pattern in C++
Generalized Functors - Realizing Command Design Pattern in C++Generalized Functors - Realizing Command Design Pattern in C++
Generalized Functors - Realizing Command Design Pattern in C++
 
Design Patterns - Abstract Factory Pattern
Design Patterns - Abstract Factory PatternDesign Patterns - Abstract Factory Pattern
Design Patterns - Abstract Factory Pattern
 
Floor plan for cashew factory by sotonye anga
Floor plan for cashew factory by sotonye angaFloor plan for cashew factory by sotonye anga
Floor plan for cashew factory by sotonye anga
 

Similar to Design Patterns Presentation - Chetan Gole

Factory Design Pattern
Factory Design PatternFactory Design Pattern
Factory Design PatternJaswant Singh
 
dotnet stuff.com tutorials-design-patterns_exploring-net-design-patterns-in-s...
dotnet stuff.com tutorials-design-patterns_exploring-net-design-patterns-in-s...dotnet stuff.com tutorials-design-patterns_exploring-net-design-patterns-in-s...
dotnet stuff.com tutorials-design-patterns_exploring-net-design-patterns-in-s...Anil Sharma
 
Design Pattern lecture 2
Design Pattern lecture 2Design Pattern lecture 2
Design Pattern lecture 2Julie Iskander
 
Design Pattern Notes: Nagpur University
Design Pattern Notes: Nagpur UniversityDesign Pattern Notes: Nagpur University
Design Pattern Notes: Nagpur UniversityShubham Narkhede
 
7 latest-dot-net-interview-questions
7  latest-dot-net-interview-questions7  latest-dot-net-interview-questions
7 latest-dot-net-interview-questionssadiqkhanpathan
 
Creational Design Patterns.pptx
Creational Design Patterns.pptxCreational Design Patterns.pptx
Creational Design Patterns.pptxSachin Patidar
 
Itp oo mand-d
Itp oo mand-dItp oo mand-d
Itp oo mand-dShibu S R
 
Gang of Four in Java
Gang of Four in Java Gang of Four in Java
Gang of Four in Java Mina Tafreshi
 
Software design and Architecture.pptx
Software design and Architecture.pptxSoftware design and Architecture.pptx
Software design and Architecture.pptxSHAHZAIBABBAS13
 
Practical OOP In Java
Practical OOP In JavaPractical OOP In Java
Practical OOP In Javawiradikusuma
 
Bt8901 objective oriented systems1
Bt8901 objective oriented systems1Bt8901 objective oriented systems1
Bt8901 objective oriented systems1Techglyphs
 
Bartlesville Dot Net User Group Design Patterns
Bartlesville Dot Net User Group Design PatternsBartlesville Dot Net User Group Design Patterns
Bartlesville Dot Net User Group Design PatternsJason Townsend, MBA
 
Opps approch of software development
Opps approch of software developmentOpps approch of software development
Opps approch of software developmentRaja Babu
 

Similar to Design Patterns Presentation - Chetan Gole (20)

Factory Design Pattern
Factory Design PatternFactory Design Pattern
Factory Design Pattern
 
dotnet stuff.com tutorials-design-patterns_exploring-net-design-patterns-in-s...
dotnet stuff.com tutorials-design-patterns_exploring-net-design-patterns-in-s...dotnet stuff.com tutorials-design-patterns_exploring-net-design-patterns-in-s...
dotnet stuff.com tutorials-design-patterns_exploring-net-design-patterns-in-s...
 
Design Pattern lecture 2
Design Pattern lecture 2Design Pattern lecture 2
Design Pattern lecture 2
 
Design patterns
Design patternsDesign patterns
Design patterns
 
Design Patterns
Design PatternsDesign Patterns
Design Patterns
 
Design patterns
Design patternsDesign patterns
Design patterns
 
Design Pattern Notes: Nagpur University
Design Pattern Notes: Nagpur UniversityDesign Pattern Notes: Nagpur University
Design Pattern Notes: Nagpur University
 
Designpattern
DesignpatternDesignpattern
Designpattern
 
Automate Design Patterns
Automate Design PatternsAutomate Design Patterns
Automate Design Patterns
 
7 latest-dot-net-interview-questions
7  latest-dot-net-interview-questions7  latest-dot-net-interview-questions
7 latest-dot-net-interview-questions
 
apna ppt 2.pptx
apna ppt 2.pptxapna ppt 2.pptx
apna ppt 2.pptx
 
Creational Design Patterns.pptx
Creational Design Patterns.pptxCreational Design Patterns.pptx
Creational Design Patterns.pptx
 
Itp oo mand-d
Itp oo mand-dItp oo mand-d
Itp oo mand-d
 
Gang of Four in Java
Gang of Four in Java Gang of Four in Java
Gang of Four in Java
 
Software design and Architecture.pptx
Software design and Architecture.pptxSoftware design and Architecture.pptx
Software design and Architecture.pptx
 
Practical OOP In Java
Practical OOP In JavaPractical OOP In Java
Practical OOP In Java
 
Bt8901 objective oriented systems1
Bt8901 objective oriented systems1Bt8901 objective oriented systems1
Bt8901 objective oriented systems1
 
Design patterns
Design patternsDesign patterns
Design patterns
 
Bartlesville Dot Net User Group Design Patterns
Bartlesville Dot Net User Group Design PatternsBartlesville Dot Net User Group Design Patterns
Bartlesville Dot Net User Group Design Patterns
 
Opps approch of software development
Opps approch of software developmentOpps approch of software development
Opps approch of software development
 

Recently uploaded

2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 

Recently uploaded (20)

2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 

Design Patterns Presentation - Chetan Gole

  • 1. This presentation is the intellectual property of Infospectrum India Private Limited. Any unauthorized use, dissemination of Infosp ctrum the information, or copying of this presentation, in whole or in part, without the express written permission of Infospectrum India Private Limited is prohibited. Please send an email to info@info-spectrum.com to obtain written authorization a spectrum of possibilities
  • 2. What is Design Pattern Design pattern is a general reusable solution to a commonly occurring problem in software design. A design pattern is not a finished design that can be transformed directly into code. It is a description or template for how to solve a problem that can be used in many different situations. Infosp ctrum a spectrum of possibilities chetangole.com
  • 3. Infosp ctrum a spectrum of possibilities chetangole.com
  • 4. History Civil Engineer Christopher Alexander. Gang of four : Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides Infosp ctrum a spectrum of possibilities chetangole.com
  • 5. Why Design Patterns • To design a new software system quickly and efficiently. • To understand a existing software system. Infosp ctrum a spectrum of possibilities chetangole.com
  • 6. Types of Design Pattern • Creational Design pattern – Object creation. • Structural design patterns – Relationship between entities. • Behavioural design patterns – Communication between objects. Infosp ctrum a spectrum of possibilities chetangole.com
  • 7. Observer Design Pattern • Observer Design Pattern is a software design pattern in which an object, called the subject, maintains a list of its dependents, called observers, and notifies them automatically of any state changes, usually by calling one of their methods. • Type : Behavioral pattern. Infosp ctrum a spectrum of possibilities chetangole.com
  • 8. Factory Design Pattern • Define an interface for creating an object, but let the subclasses decide which class to instantiate. The Factory method lets a class defer instantiation to subclasses. • Type : Creational pattern. Infosp ctrum a spectrum of possibilities chetangole.com
  • 9. Singleton Design Pattern • Ensure a class has only one instance, and provide a global point of access to it. • Encapsulated “just-in-time initialization” or “initialization on first use”. • Type : Creational pattern. Infosp ctrum a spectrum of possibilities chetangole.com
  • 10. UML Diagram for Singleton Infosp ctrum a spectrum of possibilities chetangole.com
  • 11. Strategy Design pattern The strategy pattern (also known as the policy pattern) is a particular software design pattern, whereby algorithms can be selected at runtime. Type : Behavioral pattern. Infosp ctrum a spectrum of possibilities chetangole.com
  • 12. Adaptor Design pattern The adapter pattern (often referred to as the wrapper pattern or simply a wrapper) is a design pattern that translates one interface for a class into a compatible interface. Infosp ctrum a spectrum of possibilities chetangole.com
  • 13. Proxy Design Pattern A proxy, in its most general form, is a class functioning as an interface to something else. The proxy could interface to anything: a network connection, a large object in memory, a file, or some other resource that is expensive or impossible to duplicate. Type : Structural pattern. Infosp ctrum a spectrum of possibilities
  • 14. Chain of responsibilities The chain-of-responsibility pattern is a design pattern consisting of a source of command objects and a series of processing objects. Each processing object contains a set of logic that describes the types of command objects that it can handle and how to pass off those that it cannot to the next processing object in the chain Type : Behavioral pattern. Infosp ctrum a spectrum of possibilities chetangole.com
  • 15. Decorator Design pattern The decorator pattern is a design pattern that allows new/additional behaviour to be added to an existing object dynamically. Type: Structural patterns Infosp ctrum a spectrum of possibilities chetangole.com
  • 16. Template method pattern A template method defines the program skeleton of an algorithm. One or more of the algorithm steps are able to be overridden by subclasses to provide their own concrete implementation. Type : Behavioral Design Pattern. Infosp ctrum a spectrum of possibilities chetangole.com
  • 17. Builder pattern The intention is to abstract steps of construction of objects so that different implementations of these steps can construct different representations of objects. Type : Creational Design Pattern. Infosp ctrum a spectrum of possibilities chetangole.com
  • 18. Façade pattern A facade is an object that provides a simplified interface to a larger body of code, such as a class library. Type: Structural Design Pattern. Infosp ctrum a spectrum of possibilities chetangole.com
  • 19. Iterator pattern The Iterator pattern is a design pattern in which iterators are used to access the elements of an aggregate object sequentially without exposing its underlying representation. An Iterator object encapsulates the internal structure of how the iteration occurs. Type : Behavioral Design Pattern. Infosp ctrum a spectrum of possibilities chetangole.com
  • 20. Mediator Pattern • Behavioural pattern • Definition – With the mediator pattern communication between objects is encapsulated with a mediator object. Objects no longer communicate directly with each other , but instead communicate through the mediator . This results in a more cohesive implementation of the logic and decreased coupling between the other objects. Infosp ctrum a spectrum of possibilities chetangole.com
  • 21. Flyweight Pattern • Structural Pattern • Definition – The Flyweight pattern provides a mechanism by which you can avoid creating a large number of 'expensive' objects and instead reuse existing instances to represent new ones. Infosp ctrum a spectrum of possibilities chetangole.com
  • 22. Prototype pattern • Creational pattern. • Definition – The Prototype pattern is basically the creation of new instances through cloning existing instances. By creating a prototype, new objects are created by copying this prototype. Infosp ctrum a spectrum of possibilities chetangole.com
  • 23. State Pattern • Behavioral patterns • Definition – The State pattern allows an object to alter its behaviour when its internal state changes. By using inheritance and letting subclasses represent different states and functionality we can switch during runtime. This is a clean way for an object to partially change its type at runtime. Infosp ctrum a spectrum of possibilities chetangole.com
  • 24. Thank you….. • Good read about Design Patterns – http://en.wikipedia.org/wiki/Design_pattern_(computer_science) – http://sourcemaking.com/design_patterns – http://java.sun.com/blueprints/patterns/index.html – http://www.codeproject.com/KB/architecture/#Design Patterns – http://msdn.microsoft.com/en-us/magazine/cc301852.aspx – http://www.javacamp.org/designPattern/ – http://www.javaworld.com/channel_content/jw-patterns-index.html – http://www.ibm.com/developerworks/java/tutorials/j-patterns201/ • About me – Email: chetangole@gmail.com – Web : chetangole.com If this presentation contains your copyrighted material please contact me at : chetangole@gmail.com This presentation is the intellectual property of Infospectrum India Private Limited. Any unauthorized use, dissemination of Infosp ctrum the information, or copying of this presentation, in whole or in part, without the express written permission of Infospectrum India Private Limited is prohibited. Please send an email to info@info-spectrum.com to obtain written authorization a spectrum of possibilities