SlideShare a Scribd company logo
1 of 8
By Divanshu Nandwani
• Software Industry

• Programing languages

• Problem with software industry

• What are design patterns?

• Different type of design patterns
• Development, maintenance, publication of software and
  software services(such as training, documentation, and
  consulting)
• Software as a service, or SaaS – 21st century trend to
  reduce the piracy of software by providing everything on
  web rather than client side installation

• Infrastructure software, including operating systems,
  middleware, and databases
• Software that automates business processes
• A programming language is a notation for writing
  programs, which are specifications of a computation or
  algorithm
• A programming language's surface form is known as its
  syntax
• The term Semantics refers to the meaning of languages,
  as opposed to their form
• First programming language was designed in 1943, and
  latest in 2011 (Dart)
• Assembly, Algorithmic, Functional, System, Logic,
  Generic, Scripting and Object Oriented Programing
  languages
• Very less success rate
  •   1994 – 18%
  •   2001 – 28%
  •   2003 – 31%
  •   2008
       • Iterative – 71%
       • Agile – 70%
       • Traditional – 66%
       • Ad-Hoc – 62%
• 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
• The design patterns may just be a sign of some missing
  features of a given programming language
• Inappropriate use of patterns may unnecessarily increase
  complexity
• There is no single, standard format for documenting
  design patterns
• Erich Gamma, Richard Helm, Ralph Johnson and John
  Vlissides is called “Gang of Four” or GoF
• Creational patterns
  • Deal with object creation mechanisms
  • Includes 9 design patterns like Singleton & Factory method




• Structural patterns
  • Ease the design by identifying a simple way to realize
    relationships between entities
  • Includes 9 design patterns like Decorator & Façade
• Behavioral patterns
  • Identify common communication patterns between objects
  • Includes 15 design patterns like Chain of responsibility & Iterator



• Concurrency patterns
  • Deal with multi-threaded programming paradigm
  • Includes 14 design patterns like Thread pool & Lock

More Related Content

Viewers also liked

Snow white and the gingerbread man
Snow white and the gingerbread manSnow white and the gingerbread man
Snow white and the gingerbread manalice108
 
Large scale upgrading strategy
Large scale upgrading strategyLarge scale upgrading strategy
Large scale upgrading strategyJean-Pascal Bergé
 
IMS-KÖEPFER, ESTEIRE, S.L. programa de fabricacion de IMS-KÖEPFER
IMS-KÖEPFER, ESTEIRE, S.L. programa de fabricacion de IMS-KÖEPFERIMS-KÖEPFER, ESTEIRE, S.L. programa de fabricacion de IMS-KÖEPFER
IMS-KÖEPFER, ESTEIRE, S.L. programa de fabricacion de IMS-KÖEPFERMiguel Ángel
 
Vi system product brochure
Vi system product brochureVi system product brochure
Vi system product brochurewilnet40
 
How to upgrade sensory potential of salmon by-product hydrolysates used as hi...
How to upgrade sensory potential of salmon by-product hydrolysates used as hi...How to upgrade sensory potential of salmon by-product hydrolysates used as hi...
How to upgrade sensory potential of salmon by-product hydrolysates used as hi...Jean-Pascal Bergé
 
التقويم الدراسي
التقويم الدراسيالتقويم الدراسي
التقويم الدراسيFahad Al-Graini
 
Cleaningmaster presentatie 5 final
Cleaningmaster presentatie 5 finalCleaningmaster presentatie 5 final
Cleaningmaster presentatie 5 finalpatvdb
 
ESTEIRE, S.L. - programa calibres SPLINE GAUGES
ESTEIRE, S.L. - programa calibres SPLINE GAUGESESTEIRE, S.L. - programa calibres SPLINE GAUGES
ESTEIRE, S.L. - programa calibres SPLINE GAUGESMiguel Ángel
 

Viewers also liked (18)

Snow white and the gingerbread man
Snow white and the gingerbread manSnow white and the gingerbread man
Snow white and the gingerbread man
 
Tutorial
TutorialTutorial
Tutorial
 
Tutorial
TutorialTutorial
Tutorial
 
Tutorial
TutorialTutorial
Tutorial
 
Large scale upgrading strategy
Large scale upgrading strategyLarge scale upgrading strategy
Large scale upgrading strategy
 
IMS-KÖEPFER, ESTEIRE, S.L. programa de fabricacion de IMS-KÖEPFER
IMS-KÖEPFER, ESTEIRE, S.L. programa de fabricacion de IMS-KÖEPFERIMS-KÖEPFER, ESTEIRE, S.L. programa de fabricacion de IMS-KÖEPFER
IMS-KÖEPFER, ESTEIRE, S.L. programa de fabricacion de IMS-KÖEPFER
 
Protest
ProtestProtest
Protest
 
Tutorial
TutorialTutorial
Tutorial
 
Vi system product brochure
Vi system product brochureVi system product brochure
Vi system product brochure
 
How to upgrade sensory potential of salmon by-product hydrolysates used as hi...
How to upgrade sensory potential of salmon by-product hydrolysates used as hi...How to upgrade sensory potential of salmon by-product hydrolysates used as hi...
How to upgrade sensory potential of salmon by-product hydrolysates used as hi...
 
Readi step for students
Readi step for studentsReadi step for students
Readi step for students
 
Examem martinez
Examem martinezExamem martinez
Examem martinez
 
التقويم الدراسي
التقويم الدراسيالتقويم الدراسي
التقويم الدراسي
 
La polis musica
La polis musicaLa polis musica
La polis musica
 
Cleaningmaster presentatie 5 final
Cleaningmaster presentatie 5 finalCleaningmaster presentatie 5 final
Cleaningmaster presentatie 5 final
 
28 kalimat bijak
28 kalimat bijak28 kalimat bijak
28 kalimat bijak
 
sifat manusia
sifat manusiasifat manusia
sifat manusia
 
ESTEIRE, S.L. - programa calibres SPLINE GAUGES
ESTEIRE, S.L. - programa calibres SPLINE GAUGESESTEIRE, S.L. - programa calibres SPLINE GAUGES
ESTEIRE, S.L. - programa calibres SPLINE GAUGES
 

Similar to Design patterns

The Software Engineering Discipline and Evolution of S/W Engineering Methodol...
The Software Engineering Discipline and Evolution of S/W Engineering Methodol...The Software Engineering Discipline and Evolution of S/W Engineering Methodol...
The Software Engineering Discipline and Evolution of S/W Engineering Methodol...Santhia RK
 
Model-driven and low-code development for event-based systems | Bobby Calderw...
Model-driven and low-code development for event-based systems | Bobby Calderw...Model-driven and low-code development for event-based systems | Bobby Calderw...
Model-driven and low-code development for event-based systems | Bobby Calderw...HostedbyConfluent
 
Online TechTalk  "Patterns in Embedded SW Design"
Online TechTalk  "Patterns in Embedded SW Design"Online TechTalk  "Patterns in Embedded SW Design"
Online TechTalk  "Patterns in Embedded SW Design"GlobalLogic Ukraine
 
Domain Driven Design (DDD)
Domain Driven Design (DDD)Domain Driven Design (DDD)
Domain Driven Design (DDD)Tom Kocjan
 
Agile Software Development
Agile Software DevelopmentAgile Software Development
Agile Software DevelopmentAhmet Bulut
 
Interaction design patterns
Interaction design patternsInteraction design patterns
Interaction design patternsDCU_MPIUA
 
Domain driven design and model driven development
Domain driven design and model driven developmentDomain driven design and model driven development
Domain driven design and model driven developmentDmitry Geyzersky
 
Domain-Driven Design (Artur Trosin Product Stream)
Domain-Driven Design (Artur Trosin Product Stream)Domain-Driven Design (Artur Trosin Product Stream)
Domain-Driven Design (Artur Trosin Product Stream)IT Arena
 
JDD 2016 - Ademar Aguiar - To Document Or Not Document - That Is The Question
JDD 2016 - Ademar Aguiar - To Document Or Not Document - That Is The QuestionJDD 2016 - Ademar Aguiar - To Document Or Not Document - That Is The Question
JDD 2016 - Ademar Aguiar - To Document Or Not Document - That Is The QuestionPROIDEA
 
Object Oriented Analysis and Design - Overview
Object Oriented Analysis and Design - OverviewObject Oriented Analysis and Design - Overview
Object Oriented Analysis and Design - Overviewrmk_rrj
 
Usability evaluation of Domain-Specific Languages
Usability evaluation of Domain-Specific LanguagesUsability evaluation of Domain-Specific Languages
Usability evaluation of Domain-Specific LanguagesAnkica Barisic
 
Programming Languages Categories / Programming Paradigm By: Prof. Lili Saghafi
Programming Languages Categories / Programming Paradigm By: Prof. Lili Saghafi Programming Languages Categories / Programming Paradigm By: Prof. Lili Saghafi
Programming Languages Categories / Programming Paradigm By: Prof. Lili Saghafi Professor Lili Saghafi
 
The 360 Developer
The 360 DeveloperThe 360 Developer
The 360 Developerenteritos
 

Similar to Design patterns (20)

The Software Engineering Discipline and Evolution of S/W Engineering Methodol...
The Software Engineering Discipline and Evolution of S/W Engineering Methodol...The Software Engineering Discipline and Evolution of S/W Engineering Methodol...
The Software Engineering Discipline and Evolution of S/W Engineering Methodol...
 
Code Inspection
Code InspectionCode Inspection
Code Inspection
 
Model-driven and low-code development for event-based systems | Bobby Calderw...
Model-driven and low-code development for event-based systems | Bobby Calderw...Model-driven and low-code development for event-based systems | Bobby Calderw...
Model-driven and low-code development for event-based systems | Bobby Calderw...
 
Online TechTalk  "Patterns in Embedded SW Design"
Online TechTalk  "Patterns in Embedded SW Design"Online TechTalk  "Patterns in Embedded SW Design"
Online TechTalk  "Patterns in Embedded SW Design"
 
Webcast: DITA Best Practices
Webcast: DITA Best PracticesWebcast: DITA Best Practices
Webcast: DITA Best Practices
 
Programming assignment help
Programming assignment helpProgramming assignment help
Programming assignment help
 
Python: Design Patterns
Python: Design PatternsPython: Design Patterns
Python: Design Patterns
 
Domain Driven Design (DDD)
Domain Driven Design (DDD)Domain Driven Design (DDD)
Domain Driven Design (DDD)
 
Software Design
Software DesignSoftware Design
Software Design
 
Agile Software Development
Agile Software DevelopmentAgile Software Development
Agile Software Development
 
Interaction design patterns
Interaction design patternsInteraction design patterns
Interaction design patterns
 
DOMAIN DRIVER DESIGN
DOMAIN DRIVER DESIGNDOMAIN DRIVER DESIGN
DOMAIN DRIVER DESIGN
 
Domain driven design and model driven development
Domain driven design and model driven developmentDomain driven design and model driven development
Domain driven design and model driven development
 
Domain-Driven Design (Artur Trosin Product Stream)
Domain-Driven Design (Artur Trosin Product Stream)Domain-Driven Design (Artur Trosin Product Stream)
Domain-Driven Design (Artur Trosin Product Stream)
 
JDD 2016 - Ademar Aguiar - To Document Or Not Document - That Is The Question
JDD 2016 - Ademar Aguiar - To Document Or Not Document - That Is The QuestionJDD 2016 - Ademar Aguiar - To Document Or Not Document - That Is The Question
JDD 2016 - Ademar Aguiar - To Document Or Not Document - That Is The Question
 
Introduction
IntroductionIntroduction
Introduction
 
Object Oriented Analysis and Design - Overview
Object Oriented Analysis and Design - OverviewObject Oriented Analysis and Design - Overview
Object Oriented Analysis and Design - Overview
 
Usability evaluation of Domain-Specific Languages
Usability evaluation of Domain-Specific LanguagesUsability evaluation of Domain-Specific Languages
Usability evaluation of Domain-Specific Languages
 
Programming Languages Categories / Programming Paradigm By: Prof. Lili Saghafi
Programming Languages Categories / Programming Paradigm By: Prof. Lili Saghafi Programming Languages Categories / Programming Paradigm By: Prof. Lili Saghafi
Programming Languages Categories / Programming Paradigm By: Prof. Lili Saghafi
 
The 360 Developer
The 360 DeveloperThe 360 Developer
The 360 Developer
 

Recently uploaded

Simplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptxSimplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptxMarkSteadman7
 
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
 
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data PlatformLess Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data PlatformWSO2
 
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...WSO2
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMKumar Satyam
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...caitlingebhard1
 
Navigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern EnterpriseNavigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern EnterpriseWSO2
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard37
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)Samir Dash
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAnitaRaj43
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
Modernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using BallerinaModernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using BallerinaWSO2
 

Recently uploaded (20)

Simplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptxSimplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptx
 
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
 
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data PlatformLess Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
 
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDM
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
 
Navigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern EnterpriseNavigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern Enterprise
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptx
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by Anitaraj
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Modernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using BallerinaModernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using Ballerina
 

Design patterns

  • 2. • Software Industry • Programing languages • Problem with software industry • What are design patterns? • Different type of design patterns
  • 3. • Development, maintenance, publication of software and software services(such as training, documentation, and consulting) • Software as a service, or SaaS – 21st century trend to reduce the piracy of software by providing everything on web rather than client side installation • Infrastructure software, including operating systems, middleware, and databases • Software that automates business processes
  • 4. • A programming language is a notation for writing programs, which are specifications of a computation or algorithm • A programming language's surface form is known as its syntax • The term Semantics refers to the meaning of languages, as opposed to their form • First programming language was designed in 1943, and latest in 2011 (Dart) • Assembly, Algorithmic, Functional, System, Logic, Generic, Scripting and Object Oriented Programing languages
  • 5. • Very less success rate • 1994 – 18% • 2001 – 28% • 2003 – 31% • 2008 • Iterative – 71% • Agile – 70% • Traditional – 66% • Ad-Hoc – 62%
  • 6. • 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 • The design patterns may just be a sign of some missing features of a given programming language • Inappropriate use of patterns may unnecessarily increase complexity • There is no single, standard format for documenting design patterns • Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides is called “Gang of Four” or GoF
  • 7. • Creational patterns • Deal with object creation mechanisms • Includes 9 design patterns like Singleton & Factory method • Structural patterns • Ease the design by identifying a simple way to realize relationships between entities • Includes 9 design patterns like Decorator & Façade
  • 8. • Behavioral patterns • Identify common communication patterns between objects • Includes 15 design patterns like Chain of responsibility & Iterator • Concurrency patterns • Deal with multi-threaded programming paradigm • Includes 14 design patterns like Thread pool & Lock