SlideShare a Scribd company logo
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 man
alice108
 
Tutorial
TutorialTutorial
Tutorial
franklinbyron
 
Tutorial
TutorialTutorial
Tutorial
franklinbyron
 
Tutorial
TutorialTutorial
Tutorial
franklinbyron
 
Large scale upgrading strategy
Large scale upgrading strategyLarge scale upgrading strategy
Large scale upgrading strategy
Jean-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ÖEPFER
Miguel Ángel
 
Tutorial
TutorialTutorial
Tutorial
franklinbyron
 
Vi system product brochure
Vi system product brochureVi system product brochure
Vi system product brochure
wilnet40
 
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é
 
Readi step for students
Readi step for studentsReadi step for students
Readi step for students
marjansrbinovski
 
Examem martinez
Examem martinezExamem martinez
Examem martinez
franklinbyron
 
التقويم الدراسي
التقويم الدراسيالتقويم الدراسي
التقويم الدراسي
Fahad Al-Graini
 
Cleaningmaster presentatie 5 final
Cleaningmaster presentatie 5 finalCleaningmaster presentatie 5 final
Cleaningmaster presentatie 5 final
patvdb
 
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
Miguel Á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
 
Webcast: DITA Best Practices
Webcast: DITA Best PracticesWebcast: DITA Best Practices
Webcast: DITA Best Practices
Scriptorium Publishing
 
Programming assignment help
Programming assignment helpProgramming assignment help
Programming assignment help
Global Web Tutors
 
Python: Design Patterns
Python: Design PatternsPython: Design Patterns
Python: Design Patterns
Damian T. Gordon
 
Domain Driven Design (DDD)
Domain Driven Design (DDD)Domain Driven Design (DDD)
Domain Driven Design (DDD)
Tom Kocjan
 
Software Design
Software DesignSoftware Design
Software Design
Ahmed Misbah
 
Agile Software Development
Agile Software DevelopmentAgile Software Development
Agile Software Development
Ahmet Bulut
 
Interaction design patterns
Interaction design patternsInteraction design patterns
Interaction design patterns
DCU_MPIUA
 
DOMAIN DRIVER DESIGN
DOMAIN DRIVER DESIGNDOMAIN DRIVER DESIGN
DOMAIN DRIVER DESIGN
Mohammed Fazuluddin
 
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
Dmitry 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 Question
PROIDEA
 
Introduction
IntroductionIntroduction
Introduction
baran19901990
 
Object Oriented Analysis and Design - Overview
Object Oriented Analysis and Design - OverviewObject Oriented Analysis and Design - Overview
Object Oriented Analysis and Design - Overview
rmk_rrj
 
Usability evaluation of Domain-Specific Languages
Usability evaluation of Domain-Specific LanguagesUsability evaluation of Domain-Specific Languages
Usability evaluation of Domain-Specific Languages
Ankica 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 Developer
enteritos
 

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

DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
CatarinaPereira64715
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
Bhaskar Mitra
 

Recently uploaded (20)

DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
 

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