SlideShare uma empresa Scribd logo
1 de 8
The Nature of Patterns A Strategy Moving Forward
Why Patterns Encapsulates Best Practices and Lessons Learned  Reusable Solutions to Recurring Problems Forms a Vocabulary for Describing Architecture
What is Wrong With Patterns Often Not Well Understood Often Misused Often Causes Confusion Instead of Clarity Once Done Poorly Everyone is Inclined to Avoid Future Opportunities
Steps for Using Patterns Effectively Refactor To Patterns Refactor Towards Patterns Refactor From Patterns TRAIN TRAINTRAINTRAIN Study Patterns in Context Study Patterns Outside of a Project Before Using
Strategy Pattern Encapsulate Related Algorithms Behind a Common Interface Multiple Types Implement the Common Interface Switch Implementations by Switching Types Because Each Type Implements the Common Interface, Each Type can be Treated the Same
Sample Strategies Plug-ins Provider Patterns Amortization Schedules in a Mortgage Calculator Multiple Views to a Single Presenter State Object for State Specific Business Logic Logic
Strategy Code Password Complexity Validation Each Class Will Define a Validation Test Driver Process Will Loop Through the Configured Tests and Evaluate the Results
Code Demo

Mais conteúdo relacionado

Mais procurados

1 introduction to problem solving and programming
1 introduction to problem solving and programming1 introduction to problem solving and programming
1 introduction to problem solving and programming
Rheigh Henley Calderon
 
G322 videogames intro
G322 videogames introG322 videogames intro
G322 videogames intro
guest8e1604
 
G322video games lsn 1
G322video games lsn 1G322video games lsn 1
G322video games lsn 1
cigdemkalem
 

Mais procurados (19)

Make the Most of Your Time: How Should the Analyst Work with Automated Tracea...
Make the Most of Your Time: How Should the Analyst Work with Automated Tracea...Make the Most of Your Time: How Should the Analyst Work with Automated Tracea...
Make the Most of Your Time: How Should the Analyst Work with Automated Tracea...
 
Supervised Machine Learning With Types And Techniques
Supervised Machine Learning With Types And TechniquesSupervised Machine Learning With Types And Techniques
Supervised Machine Learning With Types And Techniques
 
Key learnings from my refactor journey.
Key learnings from my refactor journey.Key learnings from my refactor journey.
Key learnings from my refactor journey.
 
Computational methods couurseout line
Computational methods couurseout lineComputational methods couurseout line
Computational methods couurseout line
 
Supervised and Unsupervised Machine Learning
Supervised and Unsupervised Machine LearningSupervised and Unsupervised Machine Learning
Supervised and Unsupervised Machine Learning
 
1 introduction to problem solving and programming
1 introduction to problem solving and programming1 introduction to problem solving and programming
1 introduction to problem solving and programming
 
G322 videogames intro
G322 videogames introG322 videogames intro
G322 videogames intro
 
G322video games lsn 1
G322video games lsn 1G322video games lsn 1
G322video games lsn 1
 
Assign1
Assign1Assign1
Assign1
 
Maze Path Finding
Maze Path FindingMaze Path Finding
Maze Path Finding
 
Marking breakdown
Marking breakdownMarking breakdown
Marking breakdown
 
Machine Learning
Machine LearningMachine Learning
Machine Learning
 
Formato internship application-form
Formato internship application-formFormato internship application-form
Formato internship application-form
 
Applicatons of derivative optimization and related rates
Applicatons of derivative optimization and related ratesApplicatons of derivative optimization and related rates
Applicatons of derivative optimization and related rates
 
Introductory Programming With Python
Introductory Programming With PythonIntroductory Programming With Python
Introductory Programming With Python
 
Unsupervised Machine Learning Ml And How It Works
Unsupervised Machine Learning Ml And How It WorksUnsupervised Machine Learning Ml And How It Works
Unsupervised Machine Learning Ml And How It Works
 
Supervised learning
  Supervised learning  Supervised learning
Supervised learning
 
Test framing(sqa)
Test framing(sqa)Test framing(sqa)
Test framing(sqa)
 
Chapter 8 comparing and contrasting computers and technology
Chapter 8 comparing and contrasting computers and technologyChapter 8 comparing and contrasting computers and technology
Chapter 8 comparing and contrasting computers and technology
 

Destaque

Patterns number and geometric
Patterns  number and geometricPatterns  number and geometric
Patterns number and geometric
amdzubinski
 
Repeating and growing patterns
Repeating and growing patternsRepeating and growing patterns
Repeating and growing patterns
Jessica Weesies
 
Fibonacci sequence
Fibonacci sequenceFibonacci sequence
Fibonacci sequence
lmrio
 

Destaque (20)

Patterns in nature
Patterns in naturePatterns in nature
Patterns in nature
 
Natural patterns powerpoint
Natural patterns powerpointNatural patterns powerpoint
Natural patterns powerpoint
 
Nine patterns in nature by CuriOdssey
Nine patterns in nature by CuriOdsseyNine patterns in nature by CuriOdssey
Nine patterns in nature by CuriOdssey
 
Seeing Math Patterns in Nature
Seeing Math Patterns in NatureSeeing Math Patterns in Nature
Seeing Math Patterns in Nature
 
Maths in nature fibonacci
Maths in nature fibonacciMaths in nature fibonacci
Maths in nature fibonacci
 
Flowers
FlowersFlowers
Flowers
 
Design Patterns - Inspirations From Nature
Design Patterns - Inspirations From NatureDesign Patterns - Inspirations From Nature
Design Patterns - Inspirations From Nature
 
Patterns in Nature
Patterns in NaturePatterns in Nature
Patterns in Nature
 
Prototype Design Pattern
Prototype Design PatternPrototype Design Pattern
Prototype Design Pattern
 
Design Patterns and Usage
Design Patterns and UsageDesign Patterns and Usage
Design Patterns and Usage
 
Patterns
PatternsPatterns
Patterns
 
Patterns
PatternsPatterns
Patterns
 
Growing Patterns
Growing PatternsGrowing Patterns
Growing Patterns
 
Patterns number and geometric
Patterns  number and geometricPatterns  number and geometric
Patterns number and geometric
 
Repeating and growing patterns
Repeating and growing patternsRepeating and growing patterns
Repeating and growing patterns
 
Nature of sociology
Nature of sociologyNature of sociology
Nature of sociology
 
Types Of Flower
Types Of  FlowerTypes Of  Flower
Types Of Flower
 
Math in nature
Math in natureMath in nature
Math in nature
 
Fibonacci sequence
Fibonacci sequenceFibonacci sequence
Fibonacci sequence
 
TYPES OF PATTERN AND ITS APPLICATION
TYPES OF PATTERN AND ITS APPLICATIONTYPES OF PATTERN AND ITS APPLICATION
TYPES OF PATTERN AND ITS APPLICATION
 

Semelhante a The Nature Of Patterns

Odd E验收测试驱动开发实战
Odd E验收测试驱动开发实战Odd E验收测试驱动开发实战
Odd E验收测试驱动开发实战
George Ang
 
B2 2006 sizing_benchmarking (1)
B2 2006 sizing_benchmarking (1)B2 2006 sizing_benchmarking (1)
B2 2006 sizing_benchmarking (1)
Steve Feldman
 

Semelhante a The Nature Of Patterns (20)

Design pattern & categories
Design pattern & categoriesDesign pattern & categories
Design pattern & categories
 
Behavioral design patterns presentation
Behavioral design patterns presentationBehavioral design patterns presentation
Behavioral design patterns presentation
 
Modeling Requirements Narrated2
Modeling Requirements Narrated2Modeling Requirements Narrated2
Modeling Requirements Narrated2
 
Modeling Requirements with SysML
Modeling Requirements with SysML Modeling Requirements with SysML
Modeling Requirements with SysML
 
Testing Harmony Design Patterns & Anti-Patterns Unveiled
Testing Harmony Design Patterns & Anti-Patterns UnveiledTesting Harmony Design Patterns & Anti-Patterns Unveiled
Testing Harmony Design Patterns & Anti-Patterns Unveiled
 
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
 
Unit No 6 Design Patterns.pptx
Unit No 6 Design Patterns.pptxUnit No 6 Design Patterns.pptx
Unit No 6 Design Patterns.pptx
 
Refactoring
RefactoringRefactoring
Refactoring
 
Using Agile Processes on Documentum Projects
Using Agile Processes on Documentum ProjectsUsing Agile Processes on Documentum Projects
Using Agile Processes on Documentum Projects
 
Prompt Engineering for AI and ML Technical Product Managers - 2023-08-21 00.5...
Prompt Engineering for AI and ML Technical Product Managers - 2023-08-21 00.5...Prompt Engineering for AI and ML Technical Product Managers - 2023-08-21 00.5...
Prompt Engineering for AI and ML Technical Product Managers - 2023-08-21 00.5...
 
Anti Patterns Siddhesh Lecture1 Of3
Anti Patterns Siddhesh Lecture1 Of3Anti Patterns Siddhesh Lecture1 Of3
Anti Patterns Siddhesh Lecture1 Of3
 
Odd E验收测试驱动开发实战
Odd E验收测试驱动开发实战Odd E验收测试驱动开发实战
Odd E验收测试驱动开发实战
 
Agile Methodology
Agile MethodologyAgile Methodology
Agile Methodology
 
How I Learned To Apply Design Patterns
How I Learned To Apply Design PatternsHow I Learned To Apply Design Patterns
How I Learned To Apply Design Patterns
 
C3 w4
C3 w4C3 w4
C3 w4
 
Managing the Machine Learning Lifecycle with MLflow
Managing the Machine Learning Lifecycle with MLflowManaging the Machine Learning Lifecycle with MLflow
Managing the Machine Learning Lifecycle with MLflow
 
Speeding up web_application
Speeding up web_applicationSpeeding up web_application
Speeding up web_application
 
Code Refactoring using rails
Code Refactoring using railsCode Refactoring using rails
Code Refactoring using rails
 
Design patterns
Design patternsDesign patterns
Design patterns
 
B2 2006 sizing_benchmarking (1)
B2 2006 sizing_benchmarking (1)B2 2006 sizing_benchmarking (1)
B2 2006 sizing_benchmarking (1)
 

Mais de Nick Harrison (10)

Revisiting refactoring
Revisiting refactoringRevisiting refactoring
Revisiting refactoring
 
Refactoring workshop
Refactoring workshopRefactoring workshop
Refactoring workshop
 
Introducing fx cop
Introducing fx copIntroducing fx cop
Introducing fx cop
 
Metric driven refactoring
Metric driven refactoringMetric driven refactoring
Metric driven refactoring
 
Developer power tools
Developer power toolsDeveloper power tools
Developer power tools
 
Revisiting Refactoring
Revisiting RefactoringRevisiting Refactoring
Revisiting Refactoring
 
Reflecting On The Code Dom
Reflecting On The Code DomReflecting On The Code Dom
Reflecting On The Code Dom
 
Refactoring Workshop
Refactoring WorkshopRefactoring Workshop
Refactoring Workshop
 
Code Inventory
Code InventoryCode Inventory
Code Inventory
 
Adaptive Architecture
Adaptive ArchitectureAdaptive Architecture
Adaptive Architecture
 

Último

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Último (20)

Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
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
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
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
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 

The Nature Of Patterns

  • 1. The Nature of Patterns A Strategy Moving Forward
  • 2. Why Patterns Encapsulates Best Practices and Lessons Learned Reusable Solutions to Recurring Problems Forms a Vocabulary for Describing Architecture
  • 3. What is Wrong With Patterns Often Not Well Understood Often Misused Often Causes Confusion Instead of Clarity Once Done Poorly Everyone is Inclined to Avoid Future Opportunities
  • 4. Steps for Using Patterns Effectively Refactor To Patterns Refactor Towards Patterns Refactor From Patterns TRAIN TRAINTRAINTRAIN Study Patterns in Context Study Patterns Outside of a Project Before Using
  • 5. Strategy Pattern Encapsulate Related Algorithms Behind a Common Interface Multiple Types Implement the Common Interface Switch Implementations by Switching Types Because Each Type Implements the Common Interface, Each Type can be Treated the Same
  • 6. Sample Strategies Plug-ins Provider Patterns Amortization Schedules in a Mortgage Calculator Multiple Views to a Single Presenter State Object for State Specific Business Logic Logic
  • 7. Strategy Code Password Complexity Validation Each Class Will Define a Validation Test Driver Process Will Loop Through the Configured Tests and Evaluate the Results