16
Adapter Pattern Shahriar Iqbal Chowdhury & Monjurul Habib Code Name: Remington http://www.facebook.com/groups/netter/

Adapter Design Pattern

Embed Size (px)

DESCRIPTION

Adapter Design Pattern Explained

Citation preview

Page 1: Adapter Design Pattern

Adapter Pattern

Shahriar Iqbal Chowdhury & Monjurul Habib                           Code Name: Remington

               http://www.facebook.com/groups/netter/

Page 2: Adapter Design Pattern

What is Adapter• A device for connecting pieces of equipment that cannot be connected directly

• An adapter allows classes to work together that normally could not because of incompatible interfaces

Page 3: Adapter Design Pattern

            Missing something??

Page 4: Adapter Design Pattern

           How does it work?

Page 5: Adapter Design Pattern

When we need?

• Convert the interface of a class into another interface that client expects.• Allow classes to work together that couldn’t because of incompatible interfaces.• Future clients can be satisfied through the creation of additional concrete Adapter.• Adapter is meant to change the interface of an existing object. • A way to achieve OCP(Open/Closed Principle)

Page 6: Adapter Design Pattern

Client Component

Page 7: Adapter Design Pattern

Compo

nent/ 

Adap

tee

AdapterClient

Page 8: Adapter Design Pattern

Adapters in the real world

Page 9: Adapter Design Pattern

UML Structure

Page 10: Adapter Design Pattern

Way to use (ref. DoFactory)

Page 11: Adapter Design Pattern

Client

Page 12: Adapter Design Pattern

Adapter

Page 13: Adapter Design Pattern

Adaptee

Page 14: Adapter Design Pattern

Another shocking example

Page 15: Adapter Design Pattern

Adapter @.NET Framework• From .NET-based code you can easily call legacy COM objects and vice versa. 

• Behind the scenes, Visual Studio® .NET create a Runtime Callable Wrapper (RCW) class. Inside the RCW, .NET specific format is converted into a format that the COM component expects and vise versa.

• Data Adapters adapts data from different source (SQL Server, Oracle, ODBC, OLE DB) to dataset.

• Different Data Adapter classes are usedSqlDataAdapterOdbcDataAdapterOleDbDataAdapter

Page 16: Adapter Design Pattern

Real World Scenario’s

• Most of the applications using third party libraries use adapters as a middle layer between the application and the 3rd party library.• Memory card reader software