SlideShare une entreprise Scribd logo
1  sur  15
Design Patterns in Java and .NET Tim Murphy Technical Specialist Mike Vogt Vice President of Architecture
Objective Show the usefulness of Design Patterns when developing applications and how they apply no matter what the platform.
Agenda History of patterns What are patterns Why are patterns important Explore 6 common patterns Anti-Patterns
History Of Patterns Gang Of Four POSA – Patterns of Software Architecture Patterns of Enterprise Application Architecture
What Are Patterns Pattern Name Problem Solution Consequences
Why Are Patterns Important Common vocabulary Repositories of common solutions
Factory Method Pattern Method for object creation Lets subclasses decide which classes to create
Decorator Pattern Attach additional responsibilities to an object dynamically Allows behavior to be added via “wrappers” Avoids extensive inheritance hierarchies cost() 	Whip cost()     Mocha cost() DarkRoast
Adapter Pattern Allows a system to use methods that do not match their interface
Visitor Pattern A way of separating an algorithm from an object structure it operates on. One can add new operations to existing object structures without modifying those structures <<interface>> CarElement + accept(CarElementVisitor v) Wheel Engine Body Car
Strategy Pattern Interchangeable algorithms
Composite Pattern Allows you to compose objects into tree structures to represent whole-part hierarchies. Lets clients treat individual objects and compositions of objects uniformly. <<interface>> Component + operation + add(Component c) + remove(Component c) + getChild(inti) Node Client Leaf Leaf Leaf Composite add,  remove,  getChild,  operation Leaf + operation()
Anit-Patterns One pattern to rule them all Loosey Goosey
ResourcesDesign Patterns: Elements of Reusable Object-Oriented Software – Erich Gamma, Richard Helm, Ralph Johnson, and John VlissidesHead First Design Patterns – Eric Freeman and Elisabeth FreemanDesign Patterns In C# - Steven John Metsker
Thank You!Blogs –geekswithblogs.net/tmurphyEmail -tmurphy@psclistens.commvogt@psclistens.comTwitter –@twmurph@mvogt99PSC’s websitewww.psclistens.com

Contenu connexe

Tendances

Enterprise system architecture togaf
Enterprise system architecture togafEnterprise system architecture togaf
Enterprise system architecture togafines beltaief
 
TOGAF Sample Matrices, Catalogs and Diagrams from the Open Group
TOGAF Sample Matrices, Catalogs and Diagrams from the Open GroupTOGAF Sample Matrices, Catalogs and Diagrams from the Open Group
TOGAF Sample Matrices, Catalogs and Diagrams from the Open GroupMichael Sukachev
 
ITSM and TOGAF 9 v0 5
ITSM and TOGAF 9 v0 5ITSM and TOGAF 9 v0 5
ITSM and TOGAF 9 v0 5Salim Sheikh
 
Understanding and Applying The Open Group Architecture Framework (TOGAF)
Understanding and Applying The Open Group Architecture Framework (TOGAF)Understanding and Applying The Open Group Architecture Framework (TOGAF)
Understanding and Applying The Open Group Architecture Framework (TOGAF)Nathaniel Palmer
 
TOGAF Reference Models
TOGAF Reference ModelsTOGAF Reference Models
TOGAF Reference ModelsPaul Sullivan
 
Overview of togaf
Overview of togafOverview of togaf
Overview of togafKirk Keller
 
A TOGAF Case Study
A TOGAF Case StudyA TOGAF Case Study
A TOGAF Case StudySimplilearn
 
A comparison of the top four enterprise
A comparison of the top four enterpriseA comparison of the top four enterprise
A comparison of the top four enterpriseMohammed Omar
 
Togaf Version 9.1 Introduction Overview
Togaf Version 9.1 Introduction OverviewTogaf Version 9.1 Introduction Overview
Togaf Version 9.1 Introduction OverviewJorge Sebastiao
 
Introduction to Enterprise Architecture and TOGAF 9.1
Introduction to Enterprise Architecture and TOGAF 9.1Introduction to Enterprise Architecture and TOGAF 9.1
Introduction to Enterprise Architecture and TOGAF 9.1iasaglobal
 
Togaf introduction and core concepts
Togaf introduction and core conceptsTogaf introduction and core concepts
Togaf introduction and core conceptsPaul Sullivan
 
Togaf 9 introduction
Togaf 9 introductionTogaf 9 introduction
Togaf 9 introductionVinod Wilson
 
EAPJ Vol IV July 2017
EAPJ Vol IV July 2017EAPJ Vol IV July 2017
EAPJ Vol IV July 2017Darryl_Carr
 
Using togaf™ in government_enterprise_architecture_to_describe_the_business_a...
Using togaf™ in government_enterprise_architecture_to_describe_the_business_a...Using togaf™ in government_enterprise_architecture_to_describe_the_business_a...
Using togaf™ in government_enterprise_architecture_to_describe_the_business_a...johnpolgreen
 

Tendances (19)

Enterprise system architecture togaf
Enterprise system architecture togafEnterprise system architecture togaf
Enterprise system architecture togaf
 
TOGAF Sample Matrices, Catalogs and Diagrams from the Open Group
TOGAF Sample Matrices, Catalogs and Diagrams from the Open GroupTOGAF Sample Matrices, Catalogs and Diagrams from the Open Group
TOGAF Sample Matrices, Catalogs and Diagrams from the Open Group
 
ITSM and TOGAF 9 v0 5
ITSM and TOGAF 9 v0 5ITSM and TOGAF 9 v0 5
ITSM and TOGAF 9 v0 5
 
TOGAF Vs E-Tom
TOGAF Vs E-TomTOGAF Vs E-Tom
TOGAF Vs E-Tom
 
Understanding and Applying The Open Group Architecture Framework (TOGAF)
Understanding and Applying The Open Group Architecture Framework (TOGAF)Understanding and Applying The Open Group Architecture Framework (TOGAF)
Understanding and Applying The Open Group Architecture Framework (TOGAF)
 
TOGAF Reference Models
TOGAF Reference ModelsTOGAF Reference Models
TOGAF Reference Models
 
Overview of togaf
Overview of togafOverview of togaf
Overview of togaf
 
Togaf notes
Togaf notesTogaf notes
Togaf notes
 
A TOGAF Case Study
A TOGAF Case StudyA TOGAF Case Study
A TOGAF Case Study
 
A comparison of the top four enterprise
A comparison of the top four enterpriseA comparison of the top four enterprise
A comparison of the top four enterprise
 
Soa and togaf practical guide
Soa and togaf practical guideSoa and togaf practical guide
Soa and togaf practical guide
 
Togaf Version 9.1 Introduction Overview
Togaf Version 9.1 Introduction OverviewTogaf Version 9.1 Introduction Overview
Togaf Version 9.1 Introduction Overview
 
Introduction to Enterprise Architecture and TOGAF 9.1
Introduction to Enterprise Architecture and TOGAF 9.1Introduction to Enterprise Architecture and TOGAF 9.1
Introduction to Enterprise Architecture and TOGAF 9.1
 
Togaf Roadshow
Togaf RoadshowTogaf Roadshow
Togaf Roadshow
 
Togaf introduction and core concepts
Togaf introduction and core conceptsTogaf introduction and core concepts
Togaf introduction and core concepts
 
Togaf 9 introduction
Togaf 9 introductionTogaf 9 introduction
Togaf 9 introduction
 
EAPJ Vol IV July 2017
EAPJ Vol IV July 2017EAPJ Vol IV July 2017
EAPJ Vol IV July 2017
 
EA Workshop 1
EA Workshop 1EA Workshop 1
EA Workshop 1
 
Using togaf™ in government_enterprise_architecture_to_describe_the_business_a...
Using togaf™ in government_enterprise_architecture_to_describe_the_business_a...Using togaf™ in government_enterprise_architecture_to_describe_the_business_a...
Using togaf™ in government_enterprise_architecture_to_describe_the_business_a...
 

En vedette

An integration methodology based on the Enterprise Architecture
An integration methodology based on the Enterprise ArchitectureAn integration methodology based on the Enterprise Architecture
An integration methodology based on the Enterprise ArchitectureMiguel Pardal
 
PR-Strategie für den Lauftreff Decksteiner Weiher in Köln
PR-Strategie für den Lauftreff Decksteiner Weiher in KölnPR-Strategie für den Lauftreff Decksteiner Weiher in Köln
PR-Strategie für den Lauftreff Decksteiner Weiher in KölnThomas Dmoch
 
Python + Hive on AWS EMR で貧者のログサマリ
Python + Hive on AWS EMR で貧者のログサマリPython + Hive on AWS EMR で貧者のログサマリ
Python + Hive on AWS EMR で貧者のログサマリAkira Chiku
 
Colombo Architecture Meetup - Enterprise Integration Architectural Challenges...
Colombo Architecture Meetup - Enterprise Integration Architectural Challenges...Colombo Architecture Meetup - Enterprise Integration Architectural Challenges...
Colombo Architecture Meetup - Enterprise Integration Architectural Challenges...ColomboArchitectureMeetup
 
AWS May Webinar Series - Getting Started with Amazon EMR
AWS May Webinar Series - Getting Started with Amazon EMRAWS May Webinar Series - Getting Started with Amazon EMR
AWS May Webinar Series - Getting Started with Amazon EMRAmazon Web Services
 
Tune your Big Data Platform to Work at Scale: Taking Hadoop to the Next Level...
Tune your Big Data Platform to Work at Scale: Taking Hadoop to the Next Level...Tune your Big Data Platform to Work at Scale: Taking Hadoop to the Next Level...
Tune your Big Data Platform to Work at Scale: Taking Hadoop to the Next Level...Amazon Web Services
 
06 august meetup - enterprise integration architecture
06   august meetup - enterprise integration architecture06   august meetup - enterprise integration architecture
06 august meetup - enterprise integration architectureAldo Fernandez
 
Hadoop in the cloud with AWS' EMR
Hadoop in the cloud with AWS' EMRHadoop in the cloud with AWS' EMR
Hadoop in the cloud with AWS' EMRrICh morrow
 
Establishing a business case approach to a strategic initiative, project or s...
Establishing a business case approach to a strategic initiative, project or s...Establishing a business case approach to a strategic initiative, project or s...
Establishing a business case approach to a strategic initiative, project or s...Martin Bergholz
 
Integration Architecture Agile Enterprise Cag2010a
Integration Architecture Agile Enterprise Cag2010aIntegration Architecture Agile Enterprise Cag2010a
Integration Architecture Agile Enterprise Cag2010aTim Murphy
 
SOA - Creating True Business Agility
SOA - Creating True Business AgilitySOA - Creating True Business Agility
SOA - Creating True Business AgilityBrian C. Edwards
 
Interactively Querying Large-scale Datasets on Amazon S3
Interactively Querying Large-scale Datasets on Amazon S3Interactively Querying Large-scale Datasets on Amazon S3
Interactively Querying Large-scale Datasets on Amazon S3Amazon Web Services
 
Containerization: The DevOps Revolution
Containerization: The DevOps Revolution Containerization: The DevOps Revolution
Containerization: The DevOps Revolution SoftServe
 
Scaling your analytics with Amazon EMR
Scaling your analytics with Amazon EMRScaling your analytics with Amazon EMR
Scaling your analytics with Amazon EMRIsrael AWS User Group
 
Client computing evolution ppt11
Client computing evolution ppt11Client computing evolution ppt11
Client computing evolution ppt11Tech_MX
 
Strategic Initiative Optimization and Strategic Relationship Optimization
Strategic Initiative Optimization and Strategic Relationship OptimizationStrategic Initiative Optimization and Strategic Relationship Optimization
Strategic Initiative Optimization and Strategic Relationship Optimizationarnoldconsultants
 
Intermediate/Compliance training Guide
Intermediate/Compliance training GuideIntermediate/Compliance training Guide
Intermediate/Compliance training GuideChef
 

En vedette (20)

An integration methodology based on the Enterprise Architecture
An integration methodology based on the Enterprise ArchitectureAn integration methodology based on the Enterprise Architecture
An integration methodology based on the Enterprise Architecture
 
Enterprise Architecture
Enterprise Architecture Enterprise Architecture
Enterprise Architecture
 
PR-Strategie für den Lauftreff Decksteiner Weiher in Köln
PR-Strategie für den Lauftreff Decksteiner Weiher in KölnPR-Strategie für den Lauftreff Decksteiner Weiher in Köln
PR-Strategie für den Lauftreff Decksteiner Weiher in Köln
 
Python + Hive on AWS EMR で貧者のログサマリ
Python + Hive on AWS EMR で貧者のログサマリPython + Hive on AWS EMR で貧者のログサマリ
Python + Hive on AWS EMR で貧者のログサマリ
 
Colombo Architecture Meetup - Enterprise Integration Architectural Challenges...
Colombo Architecture Meetup - Enterprise Integration Architectural Challenges...Colombo Architecture Meetup - Enterprise Integration Architectural Challenges...
Colombo Architecture Meetup - Enterprise Integration Architectural Challenges...
 
AWS May Webinar Series - Getting Started with Amazon EMR
AWS May Webinar Series - Getting Started with Amazon EMRAWS May Webinar Series - Getting Started with Amazon EMR
AWS May Webinar Series - Getting Started with Amazon EMR
 
Tune your Big Data Platform to Work at Scale: Taking Hadoop to the Next Level...
Tune your Big Data Platform to Work at Scale: Taking Hadoop to the Next Level...Tune your Big Data Platform to Work at Scale: Taking Hadoop to the Next Level...
Tune your Big Data Platform to Work at Scale: Taking Hadoop to the Next Level...
 
06 august meetup - enterprise integration architecture
06   august meetup - enterprise integration architecture06   august meetup - enterprise integration architecture
06 august meetup - enterprise integration architecture
 
Hadoop in the cloud with AWS' EMR
Hadoop in the cloud with AWS' EMRHadoop in the cloud with AWS' EMR
Hadoop in the cloud with AWS' EMR
 
Establishing a business case approach to a strategic initiative, project or s...
Establishing a business case approach to a strategic initiative, project or s...Establishing a business case approach to a strategic initiative, project or s...
Establishing a business case approach to a strategic initiative, project or s...
 
Integration Architecture Agile Enterprise Cag2010a
Integration Architecture Agile Enterprise Cag2010aIntegration Architecture Agile Enterprise Cag2010a
Integration Architecture Agile Enterprise Cag2010a
 
SOA - Creating True Business Agility
SOA - Creating True Business AgilitySOA - Creating True Business Agility
SOA - Creating True Business Agility
 
Masterclass Live: Amazon EMR
Masterclass Live: Amazon EMRMasterclass Live: Amazon EMR
Masterclass Live: Amazon EMR
 
Interactively Querying Large-scale Datasets on Amazon S3
Interactively Querying Large-scale Datasets on Amazon S3Interactively Querying Large-scale Datasets on Amazon S3
Interactively Querying Large-scale Datasets on Amazon S3
 
Containerization: The DevOps Revolution
Containerization: The DevOps Revolution Containerization: The DevOps Revolution
Containerization: The DevOps Revolution
 
Scaling your analytics with Amazon EMR
Scaling your analytics with Amazon EMRScaling your analytics with Amazon EMR
Scaling your analytics with Amazon EMR
 
Client computing evolution ppt11
Client computing evolution ppt11Client computing evolution ppt11
Client computing evolution ppt11
 
Strategic Initiative Optimization and Strategic Relationship Optimization
Strategic Initiative Optimization and Strategic Relationship OptimizationStrategic Initiative Optimization and Strategic Relationship Optimization
Strategic Initiative Optimization and Strategic Relationship Optimization
 
Intermediate/Compliance training Guide
Intermediate/Compliance training GuideIntermediate/Compliance training Guide
Intermediate/Compliance training Guide
 
Big Data and Analytics on AWS
Big Data and Analytics on AWS Big Data and Analytics on AWS
Big Data and Analytics on AWS
 

Similaire à Chicago Information Technology Architects Group - Design Patterns

Design Patterns For 70% Of Programmers In The World
Design Patterns For 70% Of Programmers In The WorldDesign Patterns For 70% Of Programmers In The World
Design Patterns For 70% Of Programmers In The WorldSaurabh Moody
 
Typescript design patterns applied to sharepoint framework - Sharepoint Satur...
Typescript design patterns applied to sharepoint framework - Sharepoint Satur...Typescript design patterns applied to sharepoint framework - Sharepoint Satur...
Typescript design patterns applied to sharepoint framework - Sharepoint Satur...Luis Valencia
 
Design Pattern Mastery - Momentum Dev Con 19 Apr 2018
Design Pattern Mastery - Momentum Dev Con 19 Apr 2018Design Pattern Mastery - Momentum Dev Con 19 Apr 2018
Design Pattern Mastery - Momentum Dev Con 19 Apr 2018Steven Smith
 
Javascript Design Patterns
Javascript Design PatternsJavascript Design Patterns
Javascript Design PatternsLilia Sfaxi
 
Bartlesville Dot Net User Group Design Patterns
Bartlesville Dot Net User Group Design PatternsBartlesville Dot Net User Group Design Patterns
Bartlesville Dot Net User Group Design PatternsJason Townsend, MBA
 
Introduction To Design Patterns
Introduction To Design PatternsIntroduction To Design Patterns
Introduction To Design Patternssukumarraju6
 
Evaluation of meta modeling tools for domain specific modeling language chnjl
Evaluation of meta modeling   tools for domain specific modeling language chnjlEvaluation of meta modeling   tools for domain specific modeling language chnjl
Evaluation of meta modeling tools for domain specific modeling language chnjlPG Scholar
 
Innoslate, A Model-Based Systems Engineering Tool
Innoslate, A Model-Based Systems Engineering ToolInnoslate, A Model-Based Systems Engineering Tool
Innoslate, A Model-Based Systems Engineering ToolElizabeth Steiner
 
From Model-based to Model and Simulation-based Systems Architectures
From Model-based to Model and Simulation-based Systems ArchitecturesFrom Model-based to Model and Simulation-based Systems Architectures
From Model-based to Model and Simulation-based Systems ArchitecturesObeo
 
Getting Unstuck: Working with Legacy Code and Data
Getting Unstuck: Working with Legacy Code and DataGetting Unstuck: Working with Legacy Code and Data
Getting Unstuck: Working with Legacy Code and DataCory Foy
 
7 latest-dot-net-interview-questions
7  latest-dot-net-interview-questions7  latest-dot-net-interview-questions
7 latest-dot-net-interview-questionssadiqkhanpathan
 
Mc0084 software project management & quality
Mc0084 software project management & qualityMc0084 software project management & quality
Mc0084 software project management & qualitysmumbahelp
 
2013 Lecture 5: AR Tools and Interaction
2013 Lecture 5: AR Tools and Interaction 2013 Lecture 5: AR Tools and Interaction
2013 Lecture 5: AR Tools and Interaction Mark Billinghurst
 
P Training Presentation
P Training PresentationP Training Presentation
P Training PresentationGaurav Tyagi
 
Software design and Architecture.pptx
Software design and Architecture.pptxSoftware design and Architecture.pptx
Software design and Architecture.pptxSHAHZAIBABBAS13
 
Design pattern & categories
Design pattern & categoriesDesign pattern & categories
Design pattern & categoriesHimanshu
 

Similaire à Chicago Information Technology Architects Group - Design Patterns (20)

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
 
Typescript design patterns applied to sharepoint framework - Sharepoint Satur...
Typescript design patterns applied to sharepoint framework - Sharepoint Satur...Typescript design patterns applied to sharepoint framework - Sharepoint Satur...
Typescript design patterns applied to sharepoint framework - Sharepoint Satur...
 
Design Pattern Mastery - Momentum Dev Con 19 Apr 2018
Design Pattern Mastery - Momentum Dev Con 19 Apr 2018Design Pattern Mastery - Momentum Dev Con 19 Apr 2018
Design Pattern Mastery - Momentum Dev Con 19 Apr 2018
 
Javascript Design Patterns
Javascript Design PatternsJavascript Design Patterns
Javascript Design Patterns
 
Bartlesville Dot Net User Group Design Patterns
Bartlesville Dot Net User Group Design PatternsBartlesville Dot Net User Group Design Patterns
Bartlesville Dot Net User Group Design Patterns
 
Introduction To Design Patterns
Introduction To Design PatternsIntroduction To Design Patterns
Introduction To Design Patterns
 
Patterns Overview
Patterns OverviewPatterns Overview
Patterns Overview
 
Evaluation of meta modeling tools for domain specific modeling language chnjl
Evaluation of meta modeling   tools for domain specific modeling language chnjlEvaluation of meta modeling   tools for domain specific modeling language chnjl
Evaluation of meta modeling tools for domain specific modeling language chnjl
 
Design pattern
Design patternDesign pattern
Design pattern
 
24 Reasons Why Variability Models Are Not Yet Universal (24RWVMANYU)
24 Reasons Why Variability Models Are Not Yet Universal (24RWVMANYU)24 Reasons Why Variability Models Are Not Yet Universal (24RWVMANYU)
24 Reasons Why Variability Models Are Not Yet Universal (24RWVMANYU)
 
Innoslate, A Model-Based Systems Engineering Tool
Innoslate, A Model-Based Systems Engineering ToolInnoslate, A Model-Based Systems Engineering Tool
Innoslate, A Model-Based Systems Engineering Tool
 
From Model-based to Model and Simulation-based Systems Architectures
From Model-based to Model and Simulation-based Systems ArchitecturesFrom Model-based to Model and Simulation-based Systems Architectures
From Model-based to Model and Simulation-based Systems Architectures
 
Getting Unstuck: Working with Legacy Code and Data
Getting Unstuck: Working with Legacy Code and DataGetting Unstuck: Working with Legacy Code and Data
Getting Unstuck: Working with Legacy Code and Data
 
Design patterns
Design patternsDesign patterns
Design patterns
 
7 latest-dot-net-interview-questions
7  latest-dot-net-interview-questions7  latest-dot-net-interview-questions
7 latest-dot-net-interview-questions
 
Mc0084 software project management & quality
Mc0084 software project management & qualityMc0084 software project management & quality
Mc0084 software project management & quality
 
2013 Lecture 5: AR Tools and Interaction
2013 Lecture 5: AR Tools and Interaction 2013 Lecture 5: AR Tools and Interaction
2013 Lecture 5: AR Tools and Interaction
 
P Training Presentation
P Training PresentationP Training Presentation
P Training Presentation
 
Software design and Architecture.pptx
Software design and Architecture.pptxSoftware design and Architecture.pptx
Software design and Architecture.pptx
 
Design pattern & categories
Design pattern & categoriesDesign pattern & categories
Design pattern & categories
 

Dernier

08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 

Dernier (20)

08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 

Chicago Information Technology Architects Group - Design Patterns

  • 1. Design Patterns in Java and .NET Tim Murphy Technical Specialist Mike Vogt Vice President of Architecture
  • 2. Objective Show the usefulness of Design Patterns when developing applications and how they apply no matter what the platform.
  • 3. Agenda History of patterns What are patterns Why are patterns important Explore 6 common patterns Anti-Patterns
  • 4. History Of Patterns Gang Of Four POSA – Patterns of Software Architecture Patterns of Enterprise Application Architecture
  • 5. What Are Patterns Pattern Name Problem Solution Consequences
  • 6. Why Are Patterns Important Common vocabulary Repositories of common solutions
  • 7. Factory Method Pattern Method for object creation Lets subclasses decide which classes to create
  • 8. Decorator Pattern Attach additional responsibilities to an object dynamically Allows behavior to be added via “wrappers” Avoids extensive inheritance hierarchies cost() Whip cost() Mocha cost() DarkRoast
  • 9. Adapter Pattern Allows a system to use methods that do not match their interface
  • 10. Visitor Pattern A way of separating an algorithm from an object structure it operates on. One can add new operations to existing object structures without modifying those structures <<interface>> CarElement + accept(CarElementVisitor v) Wheel Engine Body Car
  • 12. Composite Pattern Allows you to compose objects into tree structures to represent whole-part hierarchies. Lets clients treat individual objects and compositions of objects uniformly. <<interface>> Component + operation + add(Component c) + remove(Component c) + getChild(inti) Node Client Leaf Leaf Leaf Composite add, remove, getChild, operation Leaf + operation()
  • 13. Anit-Patterns One pattern to rule them all Loosey Goosey
  • 14. ResourcesDesign Patterns: Elements of Reusable Object-Oriented Software – Erich Gamma, Richard Helm, Ralph Johnson, and John VlissidesHead First Design Patterns – Eric Freeman and Elisabeth FreemanDesign Patterns In C# - Steven John Metsker
  • 15. Thank You!Blogs –geekswithblogs.net/tmurphyEmail -tmurphy@psclistens.commvogt@psclistens.comTwitter –@twmurph@mvogt99PSC’s websitewww.psclistens.com