SlideShare una empresa de Scribd logo
1 de 14
Descargar para leer sin conexión
Dependency Inversion Using
Ports and Adapters
Mahfuzul Haque
@mhaque2012
Agenda
● The problem
● The idea
● The aims
● Evolution of an existing application
● The concepts
● Show me the code
2
The problem
Over time core business logic of an application becomes tightly coupled with
various libraries, frameworks and technologies making it harder to evolve and test.
Challenges:
● Long lasting product that needs to keep up with changing customer needs
and evolution of technology.
● Ability to change core logic confidently with 100% unit test coverage.
● Ability to switch third party codes easily to avoid obsolete code due to
technology/vendor lock-down.
3
The idea
Ports and Adapters Architecture (Alistair Cockburn)
"Allow an application to equally be driven by users, programs, automated test or
batch scripts, and to be developed and tested in isolation from its eventual run-
time devices and databases."
This architecture is also known as:
● Hexagonal Architecture
● Plug-in Architecture
4
The aims
● Decoupling application's core business logic from the services it uses.
● Allowing different services to be plugged in.
● Allowing the application to be run without these services.
● Allowing it to become framework agnostic.
5
An existing application (order processing)
Here core business logic is coupled with UI
and various libraries, frameworks and
technologies:
● Leakage of external libraries and
technologies in the core logic by direct
dependency.
● Leakage of core logic in the UI which is
not reusable in other UI.
● Leakage of the UI into the core logic.
6
Core
Application
Logic
API
Controllers
Console
Commands
GUI
Controllers
Payment
Shipping
Notification
Data Access
(ORM)
Evolution using ports and adapters
7
Core
Application
Logic
API
Controllers
Console
Commands
GUI
Controllers
Payment
Shipping
Notification
Data Access
(ORM)
Primary/Driving Adapters Secondary/Driven Adapters
The concepts
● Core as the central artefact of a system.
● All input and output reaches/leaves the core through a port that isolates the
core from external tools, technologies and delivery mechanisms.
● The core should have no knowledge of who/what is sending input or receiving
its output.
● This is intended to provide some protection against the evolution of
technology.
8
The concepts
Primary Port
(interface)
Primary Adapter
Secondary Port
(interface)
Core Logic
Secondary Adapter
9
The concepts (an example)
IOrderService
API Controller
IPaymentService
OrderService
PaymentService
Dependency
Dependency
10
Show me the code
https://github.com/git-mhaque/demo-ports-and-adapters 11
Q & A
12
References
http://wiki.c2.com/?PortsAndAdaptersArchitecture
http://wiki.c2.com/?HexagonalArchitecture
http://www.dossier-andreas.net/software_architecture/ports_and_adapters.html
https://medium.com/the-software-architecture-chronicles/ddd-hexagonal-onion-clean-cqrs-how-i-put-it-all-together-f2590c0aa7f6
https://herbertograca.com/2017/09/14/ports-adapters-architecture/
http://blog.thedigitalgroup.com/understanding-onion-architecture
13
Thank You!
14

Más contenido relacionado

La actualidad más candente

Towards Scalable Validation of Low-Code System Models: Mapping EVL to VIATRA ...
Towards Scalable Validation of Low-Code System Models: Mapping EVL to VIATRA ...Towards Scalable Validation of Low-Code System Models: Mapping EVL to VIATRA ...
Towards Scalable Validation of Low-Code System Models: Mapping EVL to VIATRA ...IncQuery Labs
 
2019 04-13 ai for .net developers (fwdays)
2019 04-13 ai for .net developers (fwdays)2019 04-13 ai for .net developers (fwdays)
2019 04-13 ai for .net developers (fwdays)Oleksandr Krakovetskyi
 
Igor Kochetov "What is wrong with Dependency Injection? Myths and Truths"
Igor Kochetov "What is wrong with Dependency Injection? Myths and Truths"Igor Kochetov "What is wrong with Dependency Injection? Myths and Truths"
Igor Kochetov "What is wrong with Dependency Injection? Myths and Truths"Fwdays
 
Arquillian 소개
Arquillian 소개Arquillian 소개
Arquillian 소개성욱 전
 
Introduction to Open Services for Lifecycle Collaboration (OSLC)
Introduction to Open Services for Lifecycle Collaboration (OSLC)Introduction to Open Services for Lifecycle Collaboration (OSLC)
Introduction to Open Services for Lifecycle Collaboration (OSLC)Axel Reichwein
 
ALT-F1 Techtalk 3 - Google AppEngine
ALT-F1 Techtalk 3 - Google AppEngineALT-F1 Techtalk 3 - Google AppEngine
ALT-F1 Techtalk 3 - Google AppEngineAbdelkrim Boujraf
 
Architecting the Transformation (V1.2)
Architecting the Transformation (V1.2)Architecting the Transformation (V1.2)
Architecting the Transformation (V1.2)Asanka Abeysinghe
 
GDG Cloud meetup november 2019 - kubeflow pipelines
GDG Cloud meetup november 2019 -  kubeflow pipelinesGDG Cloud meetup november 2019 -  kubeflow pipelines
GDG Cloud meetup november 2019 - kubeflow pipelinesSven Degroote
 
Lucidchart Connect Amsterdam: Lucidchart @ Lavego
Lucidchart Connect Amsterdam: Lucidchart @ LavegoLucidchart Connect Amsterdam: Lucidchart @ Lavego
Lucidchart Connect Amsterdam: Lucidchart @ LavegoLucidchart
 
Innovate2014 Better Integrations Through Open Interfaces
Innovate2014 Better Integrations Through Open InterfacesInnovate2014 Better Integrations Through Open Interfaces
Innovate2014 Better Integrations Through Open InterfacesSteve Speicher
 
A Decentralized Reference Architecture for Cloud-native Applications V2.0
A Decentralized Reference Architecture for Cloud-native Applications  V2.0A Decentralized Reference Architecture for Cloud-native Applications  V2.0
A Decentralized Reference Architecture for Cloud-native Applications V2.0Asanka Abeysinghe
 
Data Science Meets DevOps: GitOps with OpenShift (1).pdf
Data Science Meets DevOps: GitOps with OpenShift (1).pdfData Science Meets DevOps: GitOps with OpenShift (1).pdf
Data Science Meets DevOps: GitOps with OpenShift (1).pdfHemaVeeradhi1
 
Web Programming - 11 SweetAlert2, DataTables, and WYSIWYG API
Web Programming - 11 SweetAlert2, DataTables, and WYSIWYG APIWeb Programming - 11 SweetAlert2, DataTables, and WYSIWYG API
Web Programming - 11 SweetAlert2, DataTables, and WYSIWYG APIAndiNurkholis1
 

La actualidad más candente (20)

Towards Scalable Validation of Low-Code System Models: Mapping EVL to VIATRA ...
Towards Scalable Validation of Low-Code System Models: Mapping EVL to VIATRA ...Towards Scalable Validation of Low-Code System Models: Mapping EVL to VIATRA ...
Towards Scalable Validation of Low-Code System Models: Mapping EVL to VIATRA ...
 
Resume_Amarjit
Resume_AmarjitResume_Amarjit
Resume_Amarjit
 
Debugging AI
Debugging AIDebugging AI
Debugging AI
 
2019 04-13 ai for .net developers (fwdays)
2019 04-13 ai for .net developers (fwdays)2019 04-13 ai for .net developers (fwdays)
2019 04-13 ai for .net developers (fwdays)
 
Igor Kochetov "What is wrong with Dependency Injection? Myths and Truths"
Igor Kochetov "What is wrong with Dependency Injection? Myths and Truths"Igor Kochetov "What is wrong with Dependency Injection? Myths and Truths"
Igor Kochetov "What is wrong with Dependency Injection? Myths and Truths"
 
Arquillian 소개
Arquillian 소개Arquillian 소개
Arquillian 소개
 
Introduction to Open Services for Lifecycle Collaboration (OSLC)
Introduction to Open Services for Lifecycle Collaboration (OSLC)Introduction to Open Services for Lifecycle Collaboration (OSLC)
Introduction to Open Services for Lifecycle Collaboration (OSLC)
 
BI Studio profile
BI Studio profileBI Studio profile
BI Studio profile
 
Shrilesh kathe 2017
Shrilesh kathe 2017Shrilesh kathe 2017
Shrilesh kathe 2017
 
Deepali's resume
Deepali's resumeDeepali's resume
Deepali's resume
 
ALT-F1 Techtalk 3 - Google AppEngine
ALT-F1 Techtalk 3 - Google AppEngineALT-F1 Techtalk 3 - Google AppEngine
ALT-F1 Techtalk 3 - Google AppEngine
 
Radhakrishnan Moni
Radhakrishnan MoniRadhakrishnan Moni
Radhakrishnan Moni
 
Architecting the Transformation (V1.2)
Architecting the Transformation (V1.2)Architecting the Transformation (V1.2)
Architecting the Transformation (V1.2)
 
GDG Cloud meetup november 2019 - kubeflow pipelines
GDG Cloud meetup november 2019 -  kubeflow pipelinesGDG Cloud meetup november 2019 -  kubeflow pipelines
GDG Cloud meetup november 2019 - kubeflow pipelines
 
Lucidchart Connect Amsterdam: Lucidchart @ Lavego
Lucidchart Connect Amsterdam: Lucidchart @ LavegoLucidchart Connect Amsterdam: Lucidchart @ Lavego
Lucidchart Connect Amsterdam: Lucidchart @ Lavego
 
Resume_DevayaniVernekar
Resume_DevayaniVernekarResume_DevayaniVernekar
Resume_DevayaniVernekar
 
Innovate2014 Better Integrations Through Open Interfaces
Innovate2014 Better Integrations Through Open InterfacesInnovate2014 Better Integrations Through Open Interfaces
Innovate2014 Better Integrations Through Open Interfaces
 
A Decentralized Reference Architecture for Cloud-native Applications V2.0
A Decentralized Reference Architecture for Cloud-native Applications  V2.0A Decentralized Reference Architecture for Cloud-native Applications  V2.0
A Decentralized Reference Architecture for Cloud-native Applications V2.0
 
Data Science Meets DevOps: GitOps with OpenShift (1).pdf
Data Science Meets DevOps: GitOps with OpenShift (1).pdfData Science Meets DevOps: GitOps with OpenShift (1).pdf
Data Science Meets DevOps: GitOps with OpenShift (1).pdf
 
Web Programming - 11 SweetAlert2, DataTables, and WYSIWYG API
Web Programming - 11 SweetAlert2, DataTables, and WYSIWYG APIWeb Programming - 11 SweetAlert2, DataTables, and WYSIWYG API
Web Programming - 11 SweetAlert2, DataTables, and WYSIWYG API
 

Similar a Dependency inversion using ports and adapters

Plc free peresentation111111111111111111111111111.pdf
Plc free peresentation111111111111111111111111111.pdfPlc free peresentation111111111111111111111111111.pdf
Plc free peresentation111111111111111111111111111.pdfHussamALshamaj
 
Basic PLC Training .pdf
Basic PLC Training .pdfBasic PLC Training .pdf
Basic PLC Training .pdfZiad Salem
 
Eurotech M2M Building Blocks and Multi-Service Gateway Approach
Eurotech M2M Building Blocks and Multi-Service Gateway ApproachEurotech M2M Building Blocks and Multi-Service Gateway Approach
Eurotech M2M Building Blocks and Multi-Service Gateway ApproachEurotech
 
Design Like a Pro: Planning Enterprise Solutions
Design Like a Pro: Planning Enterprise SolutionsDesign Like a Pro: Planning Enterprise Solutions
Design Like a Pro: Planning Enterprise SolutionsInductive Automation
 
Design Like a Pro: Planning Enterprise Solutions
Design Like a Pro: Planning Enterprise SolutionsDesign Like a Pro: Planning Enterprise Solutions
Design Like a Pro: Planning Enterprise SolutionsInductive Automation
 
Summer Internship Report on PLC
Summer Internship Report on PLCSummer Internship Report on PLC
Summer Internship Report on PLCSudeep Giri
 
Software-Infrastrukturen modernisieren in der Produktion - Digitale Transform...
Software-Infrastrukturen modernisieren in der Produktion - Digitale Transform...Software-Infrastrukturen modernisieren in der Produktion - Digitale Transform...
Software-Infrastrukturen modernisieren in der Produktion - Digitale Transform...Dominik Obermaier
 
Java Micro Edition (ME) 8 Deep Dive
Java Micro Edition (ME) 8 Deep DiveJava Micro Edition (ME) 8 Deep Dive
Java Micro Edition (ME) 8 Deep Diveterrencebarr
 
Summer Internship Report For PLC Programming of Traffic light through Ladder ...
Summer Internship Report For PLC Programming of Traffic light through Ladder ...Summer Internship Report For PLC Programming of Traffic light through Ladder ...
Summer Internship Report For PLC Programming of Traffic light through Ladder ...Aman Gupta
 
MuleSoft Manchester Meetup #4 slides 11th February 2021
MuleSoft Manchester Meetup #4 slides 11th February 2021MuleSoft Manchester Meetup #4 slides 11th February 2021
MuleSoft Manchester Meetup #4 slides 11th February 2021Ieva Navickaite
 
Omni-Path Status, Upstreaming and Ongoing Work
Omni-Path Status, Upstreaming and Ongoing WorkOmni-Path Status, Upstreaming and Ongoing Work
Omni-Path Status, Upstreaming and Ongoing Workinside-BigData.com
 
10 Steps to Architecting a Sustainable SCADA System
10 Steps to Architecting a Sustainable SCADA System10 Steps to Architecting a Sustainable SCADA System
10 Steps to Architecting a Sustainable SCADA SystemInductive Automation
 
CAM PRESENTATION AFAQ, DANISH.pptx
CAM PRESENTATION AFAQ, DANISH.pptxCAM PRESENTATION AFAQ, DANISH.pptx
CAM PRESENTATION AFAQ, DANISH.pptxMuhammadAfaq91
 
10 Steps to Architecting a Sustainable SCADA System
10 Steps to Architecting a Sustainable SCADA System10 Steps to Architecting a Sustainable SCADA System
10 Steps to Architecting a Sustainable SCADA SystemInductive Automation
 
SPS IPC Drives 2015 - Itris Automation paper
SPS IPC Drives 2015 - Itris Automation paperSPS IPC Drives 2015 - Itris Automation paper
SPS IPC Drives 2015 - Itris Automation paperItris Automation Square
 
Embedded system.pptx
Embedded system.pptxEmbedded system.pptx
Embedded system.pptxSaransh Garg
 

Similar a Dependency inversion using ports and adapters (20)

Resume
ResumeResume
Resume
 
TechTalk: Get to Know Perfecto
TechTalk: Get to Know Perfecto TechTalk: Get to Know Perfecto
TechTalk: Get to Know Perfecto
 
Plc free peresentation111111111111111111111111111.pdf
Plc free peresentation111111111111111111111111111.pdfPlc free peresentation111111111111111111111111111.pdf
Plc free peresentation111111111111111111111111111.pdf
 
Basic PLC Training .pdf
Basic PLC Training .pdfBasic PLC Training .pdf
Basic PLC Training .pdf
 
Eurotech M2M Building Blocks and Multi-Service Gateway Approach
Eurotech M2M Building Blocks and Multi-Service Gateway ApproachEurotech M2M Building Blocks and Multi-Service Gateway Approach
Eurotech M2M Building Blocks and Multi-Service Gateway Approach
 
Design Like a Pro: Planning Enterprise Solutions
Design Like a Pro: Planning Enterprise SolutionsDesign Like a Pro: Planning Enterprise Solutions
Design Like a Pro: Planning Enterprise Solutions
 
Design Like a Pro: Planning Enterprise Solutions
Design Like a Pro: Planning Enterprise SolutionsDesign Like a Pro: Planning Enterprise Solutions
Design Like a Pro: Planning Enterprise Solutions
 
Summer Internship Report on PLC
Summer Internship Report on PLCSummer Internship Report on PLC
Summer Internship Report on PLC
 
Ia rm001 -en-p
Ia rm001 -en-pIa rm001 -en-p
Ia rm001 -en-p
 
Software-Infrastrukturen modernisieren in der Produktion - Digitale Transform...
Software-Infrastrukturen modernisieren in der Produktion - Digitale Transform...Software-Infrastrukturen modernisieren in der Produktion - Digitale Transform...
Software-Infrastrukturen modernisieren in der Produktion - Digitale Transform...
 
Java Micro Edition (ME) 8 Deep Dive
Java Micro Edition (ME) 8 Deep DiveJava Micro Edition (ME) 8 Deep Dive
Java Micro Edition (ME) 8 Deep Dive
 
Summer Internship Report For PLC Programming of Traffic light through Ladder ...
Summer Internship Report For PLC Programming of Traffic light through Ladder ...Summer Internship Report For PLC Programming of Traffic light through Ladder ...
Summer Internship Report For PLC Programming of Traffic light through Ladder ...
 
MuleSoft Manchester Meetup #4 slides 11th February 2021
MuleSoft Manchester Meetup #4 slides 11th February 2021MuleSoft Manchester Meetup #4 slides 11th February 2021
MuleSoft Manchester Meetup #4 slides 11th February 2021
 
Omni-Path Status, Upstreaming and Ongoing Work
Omni-Path Status, Upstreaming and Ongoing WorkOmni-Path Status, Upstreaming and Ongoing Work
Omni-Path Status, Upstreaming and Ongoing Work
 
10 Steps to Architecting a Sustainable SCADA System
10 Steps to Architecting a Sustainable SCADA System10 Steps to Architecting a Sustainable SCADA System
10 Steps to Architecting a Sustainable SCADA System
 
CAM PRESENTATION AFAQ, DANISH.pptx
CAM PRESENTATION AFAQ, DANISH.pptxCAM PRESENTATION AFAQ, DANISH.pptx
CAM PRESENTATION AFAQ, DANISH.pptx
 
10 Steps to Architecting a Sustainable SCADA System
10 Steps to Architecting a Sustainable SCADA System10 Steps to Architecting a Sustainable SCADA System
10 Steps to Architecting a Sustainable SCADA System
 
OPC -Connectivity using Java
OPC -Connectivity using JavaOPC -Connectivity using Java
OPC -Connectivity using Java
 
SPS IPC Drives 2015 - Itris Automation paper
SPS IPC Drives 2015 - Itris Automation paperSPS IPC Drives 2015 - Itris Automation paper
SPS IPC Drives 2015 - Itris Automation paper
 
Embedded system.pptx
Embedded system.pptxEmbedded system.pptx
Embedded system.pptx
 

Más de Mahfuzul Haque

Resilient machine learning systems for health analytics
Resilient machine learning systems for health analyticsResilient machine learning systems for health analytics
Resilient machine learning systems for health analyticsMahfuzul Haque
 
Talk 2011-buet-perception-event
Talk 2011-buet-perception-eventTalk 2011-buet-perception-event
Talk 2011-buet-perception-eventMahfuzul Haque
 
Talk 2010-monash-seminar-panic-driven-event-detection
Talk 2010-monash-seminar-panic-driven-event-detectionTalk 2010-monash-seminar-panic-driven-event-detection
Talk 2010-monash-seminar-panic-driven-event-detectionMahfuzul Haque
 
Talk 2009-monash-seminar-perception
Talk 2009-monash-seminar-perceptionTalk 2009-monash-seminar-perception
Talk 2009-monash-seminar-perceptionMahfuzul Haque
 
Talk 2009-monash-seminar-intelligent-video-surveillance
Talk 2009-monash-seminar-intelligent-video-surveillanceTalk 2009-monash-seminar-intelligent-video-surveillance
Talk 2009-monash-seminar-intelligent-video-surveillanceMahfuzul Haque
 
Talk 2009-monash-open-day-surveillance
Talk 2009-monash-open-day-surveillanceTalk 2009-monash-open-day-surveillance
Talk 2009-monash-open-day-surveillanceMahfuzul Haque
 
Talk 2007-monash-seminar-behavior-recognition-framework
Talk 2007-monash-seminar-behavior-recognition-frameworkTalk 2007-monash-seminar-behavior-recognition-framework
Talk 2007-monash-seminar-behavior-recognition-frameworkMahfuzul Haque
 
Kb behaviour-recognition
Kb behaviour-recognitionKb behaviour-recognition
Kb behaviour-recognitionMahfuzul Haque
 
Talk 2012-icmew-perception
Talk 2012-icmew-perceptionTalk 2012-icmew-perception
Talk 2012-icmew-perceptionMahfuzul Haque
 
Poster: Monash Research Month 2009
Poster: Monash Research Month 2009Poster: Monash Research Month 2009
Poster: Monash Research Month 2009Mahfuzul Haque
 
Poster: Monash Research Month 2008
Poster: Monash Research Month 2008Poster: Monash Research Month 2008
Poster: Monash Research Month 2008Mahfuzul Haque
 
Poster: Monash Research Month 2007
Poster: Monash Research Month 2007Poster: Monash Research Month 2007
Poster: Monash Research Month 2007Mahfuzul Haque
 
Poster: EII Workshop 2007
Poster: EII Workshop 2007Poster: EII Workshop 2007
Poster: EII Workshop 2007Mahfuzul Haque
 
Poster: EII Winter School 2007
Poster: EII Winter School 2007Poster: EII Winter School 2007
Poster: EII Winter School 2007Mahfuzul Haque
 

Más de Mahfuzul Haque (20)

Resilient machine learning systems for health analytics
Resilient machine learning systems for health analyticsResilient machine learning systems for health analytics
Resilient machine learning systems for health analytics
 
Talk 2012-icmew-event
Talk 2012-icmew-eventTalk 2012-icmew-event
Talk 2012-icmew-event
 
Talk 2011-buet-perception-event
Talk 2011-buet-perception-eventTalk 2011-buet-perception-event
Talk 2011-buet-perception-event
 
Talk 2010-monash-seminar-panic-driven-event-detection
Talk 2010-monash-seminar-panic-driven-event-detectionTalk 2010-monash-seminar-panic-driven-event-detection
Talk 2010-monash-seminar-panic-driven-event-detection
 
Talk 2009-monash-seminar-perception
Talk 2009-monash-seminar-perceptionTalk 2009-monash-seminar-perception
Talk 2009-monash-seminar-perception
 
Talk 2009-monash-seminar-intelligent-video-surveillance
Talk 2009-monash-seminar-intelligent-video-surveillanceTalk 2009-monash-seminar-intelligent-video-surveillance
Talk 2009-monash-seminar-intelligent-video-surveillance
 
Talk 2009-monash-open-day-surveillance
Talk 2009-monash-open-day-surveillanceTalk 2009-monash-open-day-surveillance
Talk 2009-monash-open-day-surveillance
 
Talk 2007-monash-seminar-behavior-recognition-framework
Talk 2007-monash-seminar-behavior-recognition-frameworkTalk 2007-monash-seminar-behavior-recognition-framework
Talk 2007-monash-seminar-behavior-recognition-framework
 
Kb hmm
Kb hmmKb hmm
Kb hmm
 
Kb gait-recognition
Kb gait-recognitionKb gait-recognition
Kb gait-recognition
 
Kb behaviour-recognition
Kb behaviour-recognitionKb behaviour-recognition
Kb behaviour-recognition
 
Talk 2012-icmew-perception
Talk 2012-icmew-perceptionTalk 2012-icmew-perception
Talk 2012-icmew-perception
 
Poster: Monash Research Month 2009
Poster: Monash Research Month 2009Poster: Monash Research Month 2009
Poster: Monash Research Month 2009
 
Poster: Monash Research Month 2008
Poster: Monash Research Month 2008Poster: Monash Research Month 2008
Poster: Monash Research Month 2008
 
Poster: Monash Research Month 2007
Poster: Monash Research Month 2007Poster: Monash Research Month 2007
Poster: Monash Research Month 2007
 
Poster: ICPR 2008
Poster: ICPR 2008Poster: ICPR 2008
Poster: ICPR 2008
 
Poster: ICME 2010
Poster: ICME 2010Poster: ICME 2010
Poster: ICME 2010
 
Poster: EII Workshop 2007
Poster: EII Workshop 2007Poster: EII Workshop 2007
Poster: EII Workshop 2007
 
Poster: EII Winter School 2007
Poster: EII Winter School 2007Poster: EII Winter School 2007
Poster: EII Winter School 2007
 
Poster: AVSS 2012
Poster: AVSS 2012Poster: AVSS 2012
Poster: AVSS 2012
 

Último

AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...masabamasaba
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfonteinmasabamasaba
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrandmasabamasaba
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...masabamasaba
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is insideshinachiaurasa2
 
tonesoftg
tonesoftgtonesoftg
tonesoftglanshi9
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...Shane Coughlan
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareJim McKeeth
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...masabamasaba
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech studentsHimanshiGarg82
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfonteinmasabamasaba
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyviewmasabamasaba
 

Último (20)

AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 

Dependency inversion using ports and adapters