SlideShare a Scribd company logo
Presentation on
Adapter Design Pattern
Presented by
Tanim Ahmed (1507113)
Md. Zabirul Islam (1507110)
Md. Motaleb Hossen Manik (1507114)
1
Do you know what is adapter pattern?
▪ The adapter pattern convert the interface of a class into another interface that
clients expect. Adapter lets classes work together that couldn’t otherwise because
of incompatible interfaces.
▪ Wikipedia says…
▪ In software engineering, the adapter pattern is a software design pattern that
allows the interface of an existing class to be used as another interface. It is often
used to make existing classes work with others without modifying their source
code.
2
In real life example
Consider that you have some pictures in your memory card and you need to transfer them to your
computer.
In order to transfer them you need some kind of adapter that is compatible with your computer ports
so that you can attach memory card to your computer.
In this case card reader is an adapter. Another example would be the famous power adapter;
a three legged plug can't be connected to a two pronged outlet,
it needs to use a power adapter that makes it compatible with the two pronged outlet.
Yet another example would be a translator translating words spoken by one person to another
3
Adapter…
4
ANOTHER EXAMPLE
▪ Real Life Example of Adapter Pattern:
suppose I am a ProgrammingTeacher, and I have two types of
students in my class, the American students and the Bangladeshi
students, since my American students don’t understand Bangla, i
have to have a translator that will translate my lectures to my
American students.
▪ In this example, a Student class will be theTarget, the translator will
be the Adapter, and the American students will be the Adaptee, like
the class diagram below:
5
Class Diagram Of Adapter Pattern
6
student
translator American student
Context
▪ Context:
▪ You are building an inheritance hierarchy and want to
incorporate into it an existing class.
▪ The reused class is also often already part of its own
inheritance hierarchy.
7
Adapter Pattern
Problem Continued…
▪ Some problems are faced during designing any system using Adapter
design pattern
▪ When there is polymorphism
▪ There may have function with same name but with different
signature
▪ User may have written a separate class for a specific task. But as the
user should go through Polymorphism, this separate class is unused.
8
Adapter Pattern
Problem Continued…
9
Here is already written class called xyzcircle that deals with
circles already. But we can’t use directly because we want to
preserve polymorphic behavior with Shape
Adapter Pattern
Forces
▪ Some languages may not support multiple inheritances (e.g. Java)
▪ More forwarding requests
▪ Increase in the overhead
▪ Adapter chaining in created to reach to specific type
▪ Complex adaptation
10
11
Adapter Pattern Design example
12
Summary
▪ The Adapter Pattern is extremely useful when combined with
SOLID design principles and it helps developers to write a cleaner
and more maintainable code.
References
▪ 1. https://www.slideshare.net/adeelr456/adapter-design-pattern-
45257387
▪ 2.https://www.slideshare.net/adeelr/qid=4ce8b50c-e14a-4cbb-8b62-
82ba26259f22&v=&b=&from_search=2
13
ThankYou
14

More Related Content

What's hot

Mi0041 java and web design
Mi0041  java and web designMi0041  java and web design
Mi0041 java and web design
smumbahelp
 
Mi0041 java and web design
Mi0041  java and web designMi0041  java and web design
Mi0041 java and web design
smumbahelp
 
Php functions
Php functionsPhp functions
Constants and Variables
Constants and VariablesConstants and Variables
Constants and Variables
mrutherfordwest
 
Mi0041 java and web design
Mi0041  java and web designMi0041  java and web design
Mi0041 java and web design
Study Stuff
 
Mi0041 java and web design
Mi0041   java and web designMi0041   java and web design
Mi0041 java and web design
smumbahelp
 
Design concerns for concrete syntax
Design concerns for concrete syntaxDesign concerns for concrete syntax
Design concerns for concrete syntax
Mikhail Barash
 
Xml parsing in codeigniter
Xml parsing in codeigniterXml parsing in codeigniter
Eclipse Demo Camp 2010 - UI Bindings - An Introduction
Eclipse Demo Camp 2010 - UI Bindings - An IntroductionEclipse Demo Camp 2010 - UI Bindings - An Introduction
Eclipse Demo Camp 2010 - UI Bindings - An Introduction
Tonny Madsen
 
Multilingual Term Extraction as a Service from Acrolinx, CHAT2013
Multilingual Term Extraction as a Service from Acrolinx, CHAT2013Multilingual Term Extraction as a Service from Acrolinx, CHAT2013
Multilingual Term Extraction as a Service from Acrolinx, CHAT2013
TAUS - The Language Data Network
 
Building your first webpage
Building your first webpageBuilding your first webpage
Building your first webpage
Rebecca DuPont, PhD
 
Computer fundamentals
Computer fundamentalsComputer fundamentals
Computer fundamentals
smumbahelp
 
Bc0051 – system software
Bc0051 – system softwareBc0051 – system software
Bc0051 – system software
smumbahelp
 
From Good to SOLID: How to become a better PHP developer
From Good to SOLID: How to become a better PHP developerFrom Good to SOLID: How to become a better PHP developer
From Good to SOLID: How to become a better PHP developer
Katerina Trajchevska
 
Coding standards and guidelines
Coding standards and guidelinesCoding standards and guidelines
Coding standards and guidelines
brijraj_singh
 
Writing Clean Code (Recommendations by Robert Martin)
Writing Clean Code (Recommendations by Robert Martin)Writing Clean Code (Recommendations by Robert Martin)
Writing Clean Code (Recommendations by Robert Martin)
Shirish Bari
 
SitFRA - No Comment?
SitFRA - No Comment?SitFRA - No Comment?
SitFRA - No Comment?
Laurens van Rijn
 
BINF 3121 Data Analysis Report How-To
BINF 3121 Data Analysis Report How-ToBINF 3121 Data Analysis Report How-To
BINF 3121 Data Analysis Report How-To
Ann Loraine
 
Implementing DSLs in practice
Implementing DSLs in practiceImplementing DSLs in practice
Implementing DSLs in practice
Mikhail Barash
 

What's hot (19)

Mi0041 java and web design
Mi0041  java and web designMi0041  java and web design
Mi0041 java and web design
 
Mi0041 java and web design
Mi0041  java and web designMi0041  java and web design
Mi0041 java and web design
 
Php functions
Php functionsPhp functions
Php functions
 
Constants and Variables
Constants and VariablesConstants and Variables
Constants and Variables
 
Mi0041 java and web design
Mi0041  java and web designMi0041  java and web design
Mi0041 java and web design
 
Mi0041 java and web design
Mi0041   java and web designMi0041   java and web design
Mi0041 java and web design
 
Design concerns for concrete syntax
Design concerns for concrete syntaxDesign concerns for concrete syntax
Design concerns for concrete syntax
 
Xml parsing in codeigniter
Xml parsing in codeigniterXml parsing in codeigniter
Xml parsing in codeigniter
 
Eclipse Demo Camp 2010 - UI Bindings - An Introduction
Eclipse Demo Camp 2010 - UI Bindings - An IntroductionEclipse Demo Camp 2010 - UI Bindings - An Introduction
Eclipse Demo Camp 2010 - UI Bindings - An Introduction
 
Multilingual Term Extraction as a Service from Acrolinx, CHAT2013
Multilingual Term Extraction as a Service from Acrolinx, CHAT2013Multilingual Term Extraction as a Service from Acrolinx, CHAT2013
Multilingual Term Extraction as a Service from Acrolinx, CHAT2013
 
Building your first webpage
Building your first webpageBuilding your first webpage
Building your first webpage
 
Computer fundamentals
Computer fundamentalsComputer fundamentals
Computer fundamentals
 
Bc0051 – system software
Bc0051 – system softwareBc0051 – system software
Bc0051 – system software
 
From Good to SOLID: How to become a better PHP developer
From Good to SOLID: How to become a better PHP developerFrom Good to SOLID: How to become a better PHP developer
From Good to SOLID: How to become a better PHP developer
 
Coding standards and guidelines
Coding standards and guidelinesCoding standards and guidelines
Coding standards and guidelines
 
Writing Clean Code (Recommendations by Robert Martin)
Writing Clean Code (Recommendations by Robert Martin)Writing Clean Code (Recommendations by Robert Martin)
Writing Clean Code (Recommendations by Robert Martin)
 
SitFRA - No Comment?
SitFRA - No Comment?SitFRA - No Comment?
SitFRA - No Comment?
 
BINF 3121 Data Analysis Report How-To
BINF 3121 Data Analysis Report How-ToBINF 3121 Data Analysis Report How-To
BINF 3121 Data Analysis Report How-To
 
Implementing DSLs in practice
Implementing DSLs in practiceImplementing DSLs in practice
Implementing DSLs in practice
 

Similar to Presentation on adapter pattern

Adapter design pattern
Adapter design patternAdapter design pattern
Advanced Programming _Abstract Classes vs Interfaces (Java)
Advanced Programming _Abstract Classes vs Interfaces (Java)Advanced Programming _Abstract Classes vs Interfaces (Java)
Advanced Programming _Abstract Classes vs Interfaces (Java)
Professor Lili Saghafi
 
Top interview questions in c
Top interview questions in cTop interview questions in c
Top interview questions in c
Avinash Seth
 
GoF Design patterns I: Introduction + Structural Patterns
GoF Design patterns I:   Introduction + Structural PatternsGoF Design patterns I:   Introduction + Structural Patterns
GoF Design patterns I: Introduction + Structural Patterns
Sameh Deabes
 
Mca 4030 programming in java
Mca 4030   programming in javaMca 4030   programming in java
Mca 4030 programming in java
smumbahelp
 
Metamorphic Domain-Specific Languages
Metamorphic Domain-Specific LanguagesMetamorphic Domain-Specific Languages
Metamorphic Domain-Specific Languages
University of Rennes, INSA Rennes, Inria/IRISA, CNRS
 
Object relationship mapping and hibernate
Object relationship mapping and hibernateObject relationship mapping and hibernate
Object relationship mapping and hibernate
Joe Jacob
 
Single Responsibility Principle
Single Responsibility PrincipleSingle Responsibility Principle
Single Responsibility Principle
BADR
 
Java
JavaJava
Cs 1023 lec 8 design pattern (week 2)
Cs 1023 lec 8 design pattern (week 2)Cs 1023 lec 8 design pattern (week 2)
Cs 1023 lec 8 design pattern (week 2)
stanbridge
 
Lecture 18
Lecture 18Lecture 18
Lecture 18
talha ijaz
 
java training in chennai
java training in chennaijava training in chennai
java training in chennai
sivasundari6
 
C++ Restrictions for Game Programming.
C++ Restrictions for Game Programming.C++ Restrictions for Game Programming.
C++ Restrictions for Game Programming.
Richard Taylor
 
Adapter Pattern Abhijit Hiremagalur 200603
Adapter Pattern Abhijit Hiremagalur 200603Adapter Pattern Abhijit Hiremagalur 200603
Adapter Pattern Abhijit Hiremagalur 200603
melbournepatterns
 
OOP Java
OOP JavaOOP Java
OOP Java
Saif Kassim
 
Java 6.pptx
Java 6.pptxJava 6.pptx
Java 6.pptx
usmanusman720379
 
Why Design Patterns Are Important In Software Engineering
Why Design Patterns Are Important In Software EngineeringWhy Design Patterns Are Important In Software Engineering
Why Design Patterns Are Important In Software Engineering
Protelo, Inc.
 
Java (1).ppt seminar topics engineering
Java (1).ppt  seminar topics engineeringJava (1).ppt  seminar topics engineering
Java (1).ppt seminar topics engineering
4MU21CS023
 
Sda 9
Sda   9Sda   9
Parallelism, the Cloud, and the Tools of the Future for the next generation o...
Parallelism, the Cloud, and the Tools of the Future for the next generation o...Parallelism, the Cloud, and the Tools of the Future for the next generation o...
Parallelism, the Cloud, and the Tools of the Future for the next generation o...
Kevin Goldsmith
 

Similar to Presentation on adapter pattern (20)

Adapter design pattern
Adapter design patternAdapter design pattern
Adapter design pattern
 
Advanced Programming _Abstract Classes vs Interfaces (Java)
Advanced Programming _Abstract Classes vs Interfaces (Java)Advanced Programming _Abstract Classes vs Interfaces (Java)
Advanced Programming _Abstract Classes vs Interfaces (Java)
 
Top interview questions in c
Top interview questions in cTop interview questions in c
Top interview questions in c
 
GoF Design patterns I: Introduction + Structural Patterns
GoF Design patterns I:   Introduction + Structural PatternsGoF Design patterns I:   Introduction + Structural Patterns
GoF Design patterns I: Introduction + Structural Patterns
 
Mca 4030 programming in java
Mca 4030   programming in javaMca 4030   programming in java
Mca 4030 programming in java
 
Metamorphic Domain-Specific Languages
Metamorphic Domain-Specific LanguagesMetamorphic Domain-Specific Languages
Metamorphic Domain-Specific Languages
 
Object relationship mapping and hibernate
Object relationship mapping and hibernateObject relationship mapping and hibernate
Object relationship mapping and hibernate
 
Single Responsibility Principle
Single Responsibility PrincipleSingle Responsibility Principle
Single Responsibility Principle
 
Java
JavaJava
Java
 
Cs 1023 lec 8 design pattern (week 2)
Cs 1023 lec 8 design pattern (week 2)Cs 1023 lec 8 design pattern (week 2)
Cs 1023 lec 8 design pattern (week 2)
 
Lecture 18
Lecture 18Lecture 18
Lecture 18
 
java training in chennai
java training in chennaijava training in chennai
java training in chennai
 
C++ Restrictions for Game Programming.
C++ Restrictions for Game Programming.C++ Restrictions for Game Programming.
C++ Restrictions for Game Programming.
 
Adapter Pattern Abhijit Hiremagalur 200603
Adapter Pattern Abhijit Hiremagalur 200603Adapter Pattern Abhijit Hiremagalur 200603
Adapter Pattern Abhijit Hiremagalur 200603
 
OOP Java
OOP JavaOOP Java
OOP Java
 
Java 6.pptx
Java 6.pptxJava 6.pptx
Java 6.pptx
 
Why Design Patterns Are Important In Software Engineering
Why Design Patterns Are Important In Software EngineeringWhy Design Patterns Are Important In Software Engineering
Why Design Patterns Are Important In Software Engineering
 
Java (1).ppt seminar topics engineering
Java (1).ppt  seminar topics engineeringJava (1).ppt  seminar topics engineering
Java (1).ppt seminar topics engineering
 
Sda 9
Sda   9Sda   9
Sda 9
 
Parallelism, the Cloud, and the Tools of the Future for the next generation o...
Parallelism, the Cloud, and the Tools of the Future for the next generation o...Parallelism, the Cloud, and the Tools of the Future for the next generation o...
Parallelism, the Cloud, and the Tools of the Future for the next generation o...
 

Recently uploaded

International Upcycling Research Network advisory board meeting 4
International Upcycling Research Network advisory board meeting 4International Upcycling Research Network advisory board meeting 4
International Upcycling Research Network advisory board meeting 4
Kyungeun Sung
 
一比一原版(falmouth毕业证书)法尔茅斯大学毕业证如何办理
一比一原版(falmouth毕业证书)法尔茅斯大学毕业证如何办理一比一原版(falmouth毕业证书)法尔茅斯大学毕业证如何办理
一比一原版(falmouth毕业证书)法尔茅斯大学毕业证如何办理
xnhwr8v
 
ADESGN3S_Case-Study-Municipal-Health-Center.pdf
ADESGN3S_Case-Study-Municipal-Health-Center.pdfADESGN3S_Case-Study-Municipal-Health-Center.pdf
ADESGN3S_Case-Study-Municipal-Health-Center.pdf
GregMichaelTapawan
 
一比一原版马来西亚世纪大学毕业证成绩单一模一样
一比一原版马来西亚世纪大学毕业证成绩单一模一样一比一原版马来西亚世纪大学毕业证成绩单一模一样
一比一原版马来西亚世纪大学毕业证成绩单一模一样
k4krdgxx
 
Dilatometer for measurement of materials
Dilatometer for measurement of materialsDilatometer for measurement of materials
Dilatometer for measurement of materials
ankitsinglaisro
 
一比一原版(CSU毕业证书)查尔斯特大学毕业证如何办理
一比一原版(CSU毕业证书)查尔斯特大学毕业证如何办理一比一原版(CSU毕业证书)查尔斯特大学毕业证如何办理
一比一原版(CSU毕业证书)查尔斯特大学毕业证如何办理
67n7f53
 
一比一原版(OU毕业证)美国俄克拉荷马大学毕业证如何办理
一比一原版(OU毕业证)美国俄克拉荷马大学毕业证如何办理一比一原版(OU毕业证)美国俄克拉荷马大学毕业证如何办理
一比一原版(OU毕业证)美国俄克拉荷马大学毕业证如何办理
67n7f53
 
一比一原版(lbs毕业证书)伦敦商学院毕业证如何办理
一比一原版(lbs毕业证书)伦敦商学院毕业证如何办理一比一原版(lbs毕业证书)伦敦商学院毕业证如何办理
一比一原版(lbs毕业证书)伦敦商学院毕业证如何办理
7jpwahiy
 
一比一原版布兰登大学毕业证(BU毕业证书)如何办理
一比一原版布兰登大学毕业证(BU毕业证书)如何办理一比一原版布兰登大学毕业证(BU毕业证书)如何办理
一比一原版布兰登大学毕业证(BU毕业证书)如何办理
wkip62b
 
一比一原版(lu毕业证书)英国拉夫堡大学毕业证如何办理
一比一原版(lu毕业证书)英国拉夫堡大学毕业证如何办理一比一原版(lu毕业证书)英国拉夫堡大学毕业证如何办理
一比一原版(lu毕业证书)英国拉夫堡大学毕业证如何办理
ubogumo
 
一比一原版(UC毕业证书)堪培拉大学毕业证如何办理
一比一原版(UC毕业证书)堪培拉大学毕业证如何办理一比一原版(UC毕业证书)堪培拉大学毕业证如何办理
一比一原版(UC毕业证书)堪培拉大学毕业证如何办理
wkip62b
 
原版制作(MDIS毕业证书)新加坡管理发展学院毕业证学位证一模一样
原版制作(MDIS毕业证书)新加坡管理发展学院毕业证学位证一模一样原版制作(MDIS毕业证书)新加坡管理发展学院毕业证学位证一模一样
原版制作(MDIS毕业证书)新加坡管理发展学院毕业证学位证一模一样
hw2xf1m
 
一比一原版澳洲查理斯特大学毕业证(CSU学位证)如何办理
一比一原版澳洲查理斯特大学毕业证(CSU学位证)如何办理一比一原版澳洲查理斯特大学毕业证(CSU学位证)如何办理
一比一原版澳洲查理斯特大学毕业证(CSU学位证)如何办理
qa8dk1wm
 
一比一原版英国伦敦政治经济学院毕业证(LSE学位证)如何办理
一比一原版英国伦敦政治经济学院毕业证(LSE学位证)如何办理一比一原版英国伦敦政治经济学院毕业证(LSE学位证)如何办理
一比一原版英国伦敦政治经济学院毕业证(LSE学位证)如何办理
k4krdgxx
 
一比一原版肯特大学毕业证UKC成绩单一模一样
一比一原版肯特大学毕业证UKC成绩单一模一样一比一原版肯特大学毕业证UKC成绩单一模一样
一比一原版肯特大学毕业证UKC成绩单一模一样
tobbk6s8
 
一比一原版(KPU毕业证)加拿大昆特兰理工大学毕业证如何办理
一比一原版(KPU毕业证)加拿大昆特兰理工大学毕业证如何办理一比一原版(KPU毕业证)加拿大昆特兰理工大学毕业证如何办理
一比一原版(KPU毕业证)加拿大昆特兰理工大学毕业证如何办理
kmzsy4kn
 
UXpert_Report (UALR Mapping Renewal 2022).pdf
UXpert_Report (UALR Mapping Renewal 2022).pdfUXpert_Report (UALR Mapping Renewal 2022).pdf
UXpert_Report (UALR Mapping Renewal 2022).pdf
anthonylin333
 
一比一原版(Teesside毕业证)英国提赛德大学毕业证如何办理
一比一原版(Teesside毕业证)英国提赛德大学毕业证如何办理一比一原版(Teesside毕业证)英国提赛德大学毕业证如何办理
一比一原版(Teesside毕业证)英国提赛德大学毕业证如何办理
mfria419
 
Getting Data Ready for Culture Hack by Neontribe
Getting Data Ready for Culture Hack by NeontribeGetting Data Ready for Culture Hack by Neontribe
Getting Data Ready for Culture Hack by Neontribe
Harry Harrold
 
一比一原版美国俄勒冈大学毕业证(UO,UofO学位证)如何办理
一比一原版美国俄勒冈大学毕业证(UO,UofO学位证)如何办理一比一原版美国俄勒冈大学毕业证(UO,UofO学位证)如何办理
一比一原版美国俄勒冈大学毕业证(UO,UofO学位证)如何办理
lyurzi7r
 

Recently uploaded (20)

International Upcycling Research Network advisory board meeting 4
International Upcycling Research Network advisory board meeting 4International Upcycling Research Network advisory board meeting 4
International Upcycling Research Network advisory board meeting 4
 
一比一原版(falmouth毕业证书)法尔茅斯大学毕业证如何办理
一比一原版(falmouth毕业证书)法尔茅斯大学毕业证如何办理一比一原版(falmouth毕业证书)法尔茅斯大学毕业证如何办理
一比一原版(falmouth毕业证书)法尔茅斯大学毕业证如何办理
 
ADESGN3S_Case-Study-Municipal-Health-Center.pdf
ADESGN3S_Case-Study-Municipal-Health-Center.pdfADESGN3S_Case-Study-Municipal-Health-Center.pdf
ADESGN3S_Case-Study-Municipal-Health-Center.pdf
 
一比一原版马来西亚世纪大学毕业证成绩单一模一样
一比一原版马来西亚世纪大学毕业证成绩单一模一样一比一原版马来西亚世纪大学毕业证成绩单一模一样
一比一原版马来西亚世纪大学毕业证成绩单一模一样
 
Dilatometer for measurement of materials
Dilatometer for measurement of materialsDilatometer for measurement of materials
Dilatometer for measurement of materials
 
一比一原版(CSU毕业证书)查尔斯特大学毕业证如何办理
一比一原版(CSU毕业证书)查尔斯特大学毕业证如何办理一比一原版(CSU毕业证书)查尔斯特大学毕业证如何办理
一比一原版(CSU毕业证书)查尔斯特大学毕业证如何办理
 
一比一原版(OU毕业证)美国俄克拉荷马大学毕业证如何办理
一比一原版(OU毕业证)美国俄克拉荷马大学毕业证如何办理一比一原版(OU毕业证)美国俄克拉荷马大学毕业证如何办理
一比一原版(OU毕业证)美国俄克拉荷马大学毕业证如何办理
 
一比一原版(lbs毕业证书)伦敦商学院毕业证如何办理
一比一原版(lbs毕业证书)伦敦商学院毕业证如何办理一比一原版(lbs毕业证书)伦敦商学院毕业证如何办理
一比一原版(lbs毕业证书)伦敦商学院毕业证如何办理
 
一比一原版布兰登大学毕业证(BU毕业证书)如何办理
一比一原版布兰登大学毕业证(BU毕业证书)如何办理一比一原版布兰登大学毕业证(BU毕业证书)如何办理
一比一原版布兰登大学毕业证(BU毕业证书)如何办理
 
一比一原版(lu毕业证书)英国拉夫堡大学毕业证如何办理
一比一原版(lu毕业证书)英国拉夫堡大学毕业证如何办理一比一原版(lu毕业证书)英国拉夫堡大学毕业证如何办理
一比一原版(lu毕业证书)英国拉夫堡大学毕业证如何办理
 
一比一原版(UC毕业证书)堪培拉大学毕业证如何办理
一比一原版(UC毕业证书)堪培拉大学毕业证如何办理一比一原版(UC毕业证书)堪培拉大学毕业证如何办理
一比一原版(UC毕业证书)堪培拉大学毕业证如何办理
 
原版制作(MDIS毕业证书)新加坡管理发展学院毕业证学位证一模一样
原版制作(MDIS毕业证书)新加坡管理发展学院毕业证学位证一模一样原版制作(MDIS毕业证书)新加坡管理发展学院毕业证学位证一模一样
原版制作(MDIS毕业证书)新加坡管理发展学院毕业证学位证一模一样
 
一比一原版澳洲查理斯特大学毕业证(CSU学位证)如何办理
一比一原版澳洲查理斯特大学毕业证(CSU学位证)如何办理一比一原版澳洲查理斯特大学毕业证(CSU学位证)如何办理
一比一原版澳洲查理斯特大学毕业证(CSU学位证)如何办理
 
一比一原版英国伦敦政治经济学院毕业证(LSE学位证)如何办理
一比一原版英国伦敦政治经济学院毕业证(LSE学位证)如何办理一比一原版英国伦敦政治经济学院毕业证(LSE学位证)如何办理
一比一原版英国伦敦政治经济学院毕业证(LSE学位证)如何办理
 
一比一原版肯特大学毕业证UKC成绩单一模一样
一比一原版肯特大学毕业证UKC成绩单一模一样一比一原版肯特大学毕业证UKC成绩单一模一样
一比一原版肯特大学毕业证UKC成绩单一模一样
 
一比一原版(KPU毕业证)加拿大昆特兰理工大学毕业证如何办理
一比一原版(KPU毕业证)加拿大昆特兰理工大学毕业证如何办理一比一原版(KPU毕业证)加拿大昆特兰理工大学毕业证如何办理
一比一原版(KPU毕业证)加拿大昆特兰理工大学毕业证如何办理
 
UXpert_Report (UALR Mapping Renewal 2022).pdf
UXpert_Report (UALR Mapping Renewal 2022).pdfUXpert_Report (UALR Mapping Renewal 2022).pdf
UXpert_Report (UALR Mapping Renewal 2022).pdf
 
一比一原版(Teesside毕业证)英国提赛德大学毕业证如何办理
一比一原版(Teesside毕业证)英国提赛德大学毕业证如何办理一比一原版(Teesside毕业证)英国提赛德大学毕业证如何办理
一比一原版(Teesside毕业证)英国提赛德大学毕业证如何办理
 
Getting Data Ready for Culture Hack by Neontribe
Getting Data Ready for Culture Hack by NeontribeGetting Data Ready for Culture Hack by Neontribe
Getting Data Ready for Culture Hack by Neontribe
 
一比一原版美国俄勒冈大学毕业证(UO,UofO学位证)如何办理
一比一原版美国俄勒冈大学毕业证(UO,UofO学位证)如何办理一比一原版美国俄勒冈大学毕业证(UO,UofO学位证)如何办理
一比一原版美国俄勒冈大学毕业证(UO,UofO学位证)如何办理
 

Presentation on adapter pattern

  • 1. Presentation on Adapter Design Pattern Presented by Tanim Ahmed (1507113) Md. Zabirul Islam (1507110) Md. Motaleb Hossen Manik (1507114) 1
  • 2. Do you know what is adapter pattern? ▪ The adapter pattern convert the interface of a class into another interface that clients expect. Adapter lets classes work together that couldn’t otherwise because of incompatible interfaces. ▪ Wikipedia says… ▪ In software engineering, the adapter pattern is a software design pattern that allows the interface of an existing class to be used as another interface. It is often used to make existing classes work with others without modifying their source code. 2
  • 3. In real life example Consider that you have some pictures in your memory card and you need to transfer them to your computer. In order to transfer them you need some kind of adapter that is compatible with your computer ports so that you can attach memory card to your computer. In this case card reader is an adapter. Another example would be the famous power adapter; a three legged plug can't be connected to a two pronged outlet, it needs to use a power adapter that makes it compatible with the two pronged outlet. Yet another example would be a translator translating words spoken by one person to another 3
  • 5. ANOTHER EXAMPLE ▪ Real Life Example of Adapter Pattern: suppose I am a ProgrammingTeacher, and I have two types of students in my class, the American students and the Bangladeshi students, since my American students don’t understand Bangla, i have to have a translator that will translate my lectures to my American students. ▪ In this example, a Student class will be theTarget, the translator will be the Adapter, and the American students will be the Adaptee, like the class diagram below: 5
  • 6. Class Diagram Of Adapter Pattern 6 student translator American student
  • 7. Context ▪ Context: ▪ You are building an inheritance hierarchy and want to incorporate into it an existing class. ▪ The reused class is also often already part of its own inheritance hierarchy. 7
  • 8. Adapter Pattern Problem Continued… ▪ Some problems are faced during designing any system using Adapter design pattern ▪ When there is polymorphism ▪ There may have function with same name but with different signature ▪ User may have written a separate class for a specific task. But as the user should go through Polymorphism, this separate class is unused. 8
  • 9. Adapter Pattern Problem Continued… 9 Here is already written class called xyzcircle that deals with circles already. But we can’t use directly because we want to preserve polymorphic behavior with Shape
  • 10. Adapter Pattern Forces ▪ Some languages may not support multiple inheritances (e.g. Java) ▪ More forwarding requests ▪ Increase in the overhead ▪ Adapter chaining in created to reach to specific type ▪ Complex adaptation 10
  • 12. 12 Summary ▪ The Adapter Pattern is extremely useful when combined with SOLID design principles and it helps developers to write a cleaner and more maintainable code.
  • 13. References ▪ 1. https://www.slideshare.net/adeelr456/adapter-design-pattern- 45257387 ▪ 2.https://www.slideshare.net/adeelr/qid=4ce8b50c-e14a-4cbb-8b62- 82ba26259f22&v=&b=&from_search=2 13