SlideShare a Scribd company logo
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
Ad

More Related Content

What's hot (20)

Let us understand design pattern
Let us understand design patternLet us understand design pattern
Let us understand design pattern
Mindfire Solutions
 
Design Patterns
Design PatternsDesign Patterns
Design Patterns
Anuja Arosha
 
Software Engineering - chp4- design patterns
Software Engineering - chp4- design patternsSoftware Engineering - chp4- design patterns
Software Engineering - chp4- design patterns
Lilia Sfaxi
 
Design patterns
Design patternsDesign patterns
Design patterns
abhisheksagi
 
Software Design Patterns
Software Design PatternsSoftware Design Patterns
Software Design Patterns
Satheesh Sukumaran
 
Design patterns ppt
Design patterns pptDesign patterns ppt
Design patterns ppt
Aman Jain
 
Decorator Pattern
Decorator PatternDecorator Pattern
Decorator Pattern
Dimuthu Anuraj
 
Design patterns
Design patternsDesign patterns
Design patterns
Elyes Mejri
 
Gof design patterns
Gof design patternsGof design patterns
Gof design patterns
Srikanth R Vaka
 
Software Design Patterns
Software Design PatternsSoftware Design Patterns
Software Design Patterns
Pankhuree Srivastava
 
Design Pattern For C# Part 1
Design Pattern For C# Part 1Design Pattern For C# Part 1
Design Pattern For C# Part 1
Shahzad
 
Software design patterns ppt
Software design patterns pptSoftware design patterns ppt
Software design patterns ppt
mkruthika
 
Design pattern (Abstract Factory & Singleton)
Design pattern (Abstract Factory & Singleton)Design pattern (Abstract Factory & Singleton)
Design pattern (Abstract Factory & Singleton)
paramisoft
 
Java Course 11: Design Patterns
Java Course 11: Design PatternsJava Course 11: Design Patterns
Java Course 11: Design Patterns
Anton Keks
 
Design Patterns
Design PatternsDesign Patterns
Design Patterns
soms_1
 
Software architecture patterns
Software architecture patternsSoftware architecture patterns
Software architecture patterns
Md. Sadhan Sarker
 
Facade Design Pattern
Facade Design PatternFacade Design Pattern
Facade Design Pattern
Livares Technologies Pvt Ltd
 
Java Design Patterns Tutorial | Edureka
Java Design Patterns Tutorial | EdurekaJava Design Patterns Tutorial | Edureka
Java Design Patterns Tutorial | Edureka
Edureka!
 
Design Patterns - General Introduction
Design Patterns - General IntroductionDesign Patterns - General Introduction
Design Patterns - General Introduction
Asma CHERIF
 
Design Patterns - 01 Introduction and Decorator Pattern
Design Patterns - 01 Introduction and Decorator PatternDesign Patterns - 01 Introduction and Decorator Pattern
Design Patterns - 01 Introduction and Decorator Pattern
eprafulla
 
Let us understand design pattern
Let us understand design patternLet us understand design pattern
Let us understand design pattern
Mindfire Solutions
 
Software Engineering - chp4- design patterns
Software Engineering - chp4- design patternsSoftware Engineering - chp4- design patterns
Software Engineering - chp4- design patterns
Lilia Sfaxi
 
Design patterns ppt
Design patterns pptDesign patterns ppt
Design patterns ppt
Aman Jain
 
Design Pattern For C# Part 1
Design Pattern For C# Part 1Design Pattern For C# Part 1
Design Pattern For C# Part 1
Shahzad
 
Software design patterns ppt
Software design patterns pptSoftware design patterns ppt
Software design patterns ppt
mkruthika
 
Design pattern (Abstract Factory & Singleton)
Design pattern (Abstract Factory & Singleton)Design pattern (Abstract Factory & Singleton)
Design pattern (Abstract Factory & Singleton)
paramisoft
 
Java Course 11: Design Patterns
Java Course 11: Design PatternsJava Course 11: Design Patterns
Java Course 11: Design Patterns
Anton Keks
 
Design Patterns
Design PatternsDesign Patterns
Design Patterns
soms_1
 
Software architecture patterns
Software architecture patternsSoftware architecture patterns
Software architecture patterns
Md. Sadhan Sarker
 
Java Design Patterns Tutorial | Edureka
Java Design Patterns Tutorial | EdurekaJava Design Patterns Tutorial | Edureka
Java Design Patterns Tutorial | Edureka
Edureka!
 
Design Patterns - General Introduction
Design Patterns - General IntroductionDesign Patterns - General Introduction
Design Patterns - General Introduction
Asma CHERIF
 
Design Patterns - 01 Introduction and Decorator Pattern
Design Patterns - 01 Introduction and Decorator PatternDesign Patterns - 01 Introduction and Decorator Pattern
Design Patterns - 01 Introduction and Decorator Pattern
eprafulla
 

Viewers also liked (19)

Design Patterns Illustrated
Design Patterns IllustratedDesign Patterns Illustrated
Design Patterns Illustrated
Herman Peeren
 
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
Saurabh Moody
 
Template Method Design Pattern
Template Method Design PatternTemplate Method Design Pattern
Template Method Design Pattern
Srikanth Shreenivas
 
Design Patterns (Examples in .NET)
Design Patterns (Examples in .NET)Design Patterns (Examples in .NET)
Design Patterns (Examples in .NET)
Aniruddha Chakrabarti
 
Design Patterns & JDK Examples
Design Patterns & JDK ExamplesDesign Patterns & JDK Examples
Design Patterns & JDK Examples
Ender Aydin Orak
 
Design pattern
Design patternDesign pattern
Design pattern
Thibaut De Broca
 
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
 
Design pattern
Design patternDesign pattern
Design pattern
Jasdhir Singh
 
Design Pattern introduction
Design Pattern introductionDesign Pattern introduction
Design Pattern introduction
neuros
 
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
Kyle 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 pattern
chetankane
 
Behavioral Design Patterns
Behavioral Design PatternsBehavioral Design Patterns
Behavioral Design Patterns
Lidan 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 Pattern
Michael Heron
 
Factory design pattern
Factory design patternFactory design pattern
Factory design pattern
Farhad Safarov
 
Design pattern
Design patternDesign pattern
Design pattern
Omar Isaid
 
Design Pattern - Introduction
Design Pattern - IntroductionDesign Pattern - Introduction
Design Pattern - Introduction
Mudasir 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 Pattern
Mudasir 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 anga
Sotonye anga
 
Design Patterns Illustrated
Design Patterns IllustratedDesign Patterns Illustrated
Design Patterns Illustrated
Herman Peeren
 
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
Saurabh Moody
 
Design Patterns & JDK Examples
Design Patterns & JDK ExamplesDesign Patterns & JDK Examples
Design Patterns & JDK Examples
Ender 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
 
Design Pattern introduction
Design Pattern introductionDesign Pattern introduction
Design Pattern introduction
neuros
 
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
Kyle 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 pattern
chetankane
 
Behavioral Design Patterns
Behavioral Design PatternsBehavioral Design Patterns
Behavioral Design Patterns
Lidan 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 Pattern
Michael Heron
 
Factory design pattern
Factory design patternFactory design pattern
Factory design pattern
Farhad Safarov
 
Design pattern
Design patternDesign pattern
Design pattern
Omar Isaid
 
Design Pattern - Introduction
Design Pattern - IntroductionDesign Pattern - Introduction
Design Pattern - Introduction
Mudasir 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 Pattern
Mudasir 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 anga
Sotonye anga
 
Ad

Similar to Design Patterns Presentation - Chetan Gole (20)

Factory Design Pattern
Factory Design PatternFactory Design Pattern
Factory Design Pattern
Jaswant 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 2
Julie Iskander
 
Design patterns
Design patternsDesign patterns
Design patterns
Kolade Ibrahim Arowolo
 
JS Design patterns in Web technologies including oop techniques.pptx
JS Design patterns in Web technologies including oop techniques.pptxJS Design patterns in Web technologies including oop techniques.pptx
JS Design patterns in Web technologies including oop techniques.pptx
husnainali397602
 
Design Patterns
Design PatternsDesign Patterns
Design Patterns
Sergii Stets
 
Design patterns
Design patternsDesign patterns
Design patterns
Prawesh Shrestha
 
Design Pattern Notes: Nagpur University
Design Pattern Notes: Nagpur UniversityDesign Pattern Notes: Nagpur University
Design Pattern Notes: Nagpur University
Shubham Narkhede
 
Designpattern
DesignpatternDesignpattern
Designpattern
Srikrishna k
 
Automate Design Patterns
Automate Design PatternsAutomate Design Patterns
Automate Design Patterns
Iulian Ilie-Némedi
 
7 latest-dot-net-interview-questions
7  latest-dot-net-interview-questions7  latest-dot-net-interview-questions
7 latest-dot-net-interview-questions
sadiqkhanpathan
 
apna ppt 2.pptx
apna ppt 2.pptxapna ppt 2.pptx
apna ppt 2.pptx
sahilpanchbhaiya
 
Creational Design Patterns.pptx
Creational Design Patterns.pptxCreational Design Patterns.pptx
Creational Design Patterns.pptx
Sachin Patidar
 
Itp oo mand-d
Itp oo mand-dItp oo mand-d
Itp oo mand-d
Shibu 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.pptx
SHAHZAIBABBAS13
 
Design Patterns Java programming language.pdf
Design Patterns Java programming language.pdfDesign Patterns Java programming language.pdf
Design Patterns Java programming language.pdf
totallyrealmail420
 
Practical OOP In Java
Practical OOP In JavaPractical OOP In Java
Practical OOP In Java
wiradikusuma
 
Bt8901 objective oriented systems1
Bt8901 objective oriented systems1Bt8901 objective oriented systems1
Bt8901 objective oriented systems1
Techglyphs
 
Understanding Creational Design Patterns in Python
Understanding Creational Design Patterns in PythonUnderstanding Creational Design Patterns in Python
Understanding Creational Design Patterns in Python
StudySection
 
Factory Design Pattern
Factory Design PatternFactory Design Pattern
Factory Design Pattern
Jaswant 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 2
Julie Iskander
 
JS Design patterns in Web technologies including oop techniques.pptx
JS Design patterns in Web technologies including oop techniques.pptxJS Design patterns in Web technologies including oop techniques.pptx
JS Design patterns in Web technologies including oop techniques.pptx
husnainali397602
 
Design Pattern Notes: Nagpur University
Design Pattern Notes: Nagpur UniversityDesign Pattern Notes: Nagpur University
Design Pattern Notes: Nagpur University
Shubham Narkhede
 
7 latest-dot-net-interview-questions
7  latest-dot-net-interview-questions7  latest-dot-net-interview-questions
7 latest-dot-net-interview-questions
sadiqkhanpathan
 
Creational Design Patterns.pptx
Creational Design Patterns.pptxCreational Design Patterns.pptx
Creational Design Patterns.pptx
Sachin Patidar
 
Itp oo mand-d
Itp oo mand-dItp oo mand-d
Itp oo mand-d
Shibu 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.pptx
SHAHZAIBABBAS13
 
Design Patterns Java programming language.pdf
Design Patterns Java programming language.pdfDesign Patterns Java programming language.pdf
Design Patterns Java programming language.pdf
totallyrealmail420
 
Practical OOP In Java
Practical OOP In JavaPractical OOP In Java
Practical OOP In Java
wiradikusuma
 
Bt8901 objective oriented systems1
Bt8901 objective oriented systems1Bt8901 objective oriented systems1
Bt8901 objective oriented systems1
Techglyphs
 
Understanding Creational Design Patterns in Python
Understanding Creational Design Patterns in PythonUnderstanding Creational Design Patterns in Python
Understanding Creational Design Patterns in Python
StudySection
 
Ad

Recently uploaded (20)

Semantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AISemantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AI
artmondano
 
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
organizerofv
 
Electronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploitElectronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploit
niftliyevhuseyn
 
Drupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy ConsumptionDrupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy Consumption
Exove
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveDesigning Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
ScyllaDB
 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
 
Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025
Splunk
 
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdfThe Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
Abi john
 
Quantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur MorganQuantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
 
What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...
Vishnu Singh Chundawat
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
Generative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in BusinessGenerative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in Business
Dr. Tathagat Varma
 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
 
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven InsightsAndrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell
 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
 
Semantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AISemantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AI
artmondano
 
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
organizerofv
 
Electronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploitElectronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploit
niftliyevhuseyn
 
Drupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy ConsumptionDrupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy Consumption
Exove
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveDesigning Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
ScyllaDB
 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
 
Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025
Splunk
 
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdfThe Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
Abi john
 
Quantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur MorganQuantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
 
What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...
Vishnu Singh Chundawat
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
Generative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in BusinessGenerative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in Business
Dr. Tathagat Varma
 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
 
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven InsightsAndrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell
 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
 

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 [email protected] 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: [email protected] – Web : chetangole.com If this presentation contains your copyrighted material please contact me at : [email protected] 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 [email protected] to obtain written authorization a spectrum of possibilities