Difference between revisions of "Adapter"

From Open Pattern Repository for Online Learning Systems
Jump to navigation Jump to search
(Created patlet for pattern)
 
m (Edited spelling)
 
(3 intermediate revisions by the same user not shown)
Line 4: Line 4:
{{Infobox_designpattern
{{Infobox_designpattern
|image= <!-- Provide the filename of the image to be displayed (e.g., Design_pattern.png) -->
|image= <!-- Provide the filename of the image to be displayed (e.g., Design_pattern.png) -->
|contributor= <!-- List of contributors separated by a " , "comma. This is optional so you can remove this field if there are no contributors -->
|contributor= [[Erich Gamma]], [[Richard Helm]], [[Ralph Johnson]], [[John Vlissides]]
|source= Gamma, Helm, Johnson & Vlissides (1995)<ref name="Gamma">Gamma, E., Helm, R., Johnson, R. & Vlissides, J. (1995). ''[http://dl.acm.org/citation.cfm?id=186897 Design Patterns: elements of reusable object-oriented software.]'' Addison-Wesley: Boston, MA.''ISBN 0-201-63361-2.''</ref>, Adapter Pattern (2016)<ref name="Adapter">Adapter Pattern. (2016). Retrieved November 15, 2016 from http://wiki.c2.com/?AdapterPattern.</ref>
|source= Gamma, Helm, Johnson & Vlissides (1995)<ref name="Gamma">Gamma, E., Helm, R., Johnson, R. & Vlissides, J. (1995). ''[http://dl.acm.org/citation.cfm?id=186897 Design Patterns: elements of reusable object-oriented software.]'' Addison-Wesley: Boston, MA.''ISBN 0-201-63361-2.''</ref>, Adapter Pattern (2016)<ref name="Adapter">Adapter Pattern. (2016). Retrieved November 15, 2016 from http://wiki.c2.com/?AdapterPattern.</ref>
|dataanalysis= <!-- If applicable, list of data analyses used for mining the pattern separated by a " , "comma -->
|dataanalysis= <!-- If applicable, list of data analyses used for mining the pattern separated by a " , "comma -->
Line 66: Line 66:
<references/>
<references/>


[[Category:Design_patterns]] <!-- List of other categories the design pattern belongs to. The syntax for linking to a category is: [[Category:<Name of category]] -->
[[Category:Design_patterns]] [[Category:Patlet]] [[Category:Software Design Patterns]]<!-- List of other categories the design pattern belongs to. The syntax for linking to a category is: [[Category:<Name of category]] -->

Latest revision as of 11:45, 17 May 2017


Adapter
Contributors Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides
Last modification May 17, 2017
Source Gamma, Helm, Johnson & Vlissides (1995)[1], Adapter Pattern (2016)[2]
Pattern formats OPR Alexandrian
Usability
Learning domain
Stakeholders

Convert the interface of some class b into an interface a that some client class c understands. The Adapter Pattern lets classes with incompatible interfaces work together. This is sometimes called a wrapper because an adapter class wraps the implementation of another class in the desired interface. This pattern makes heavy use of delegation where the delegator is the adapter (or wrapper) and the delegate is the class being adapted.[1][2]


Context

Problem

Forces

Solution

Consequences

Benefits

Liabilities

Evidence

Literature

Discussion

Data

Applied evaluation

Related patterns

Example

References

  1. 1.0 1.1 Gamma, E., Helm, R., Johnson, R. & Vlissides, J. (1995). Design Patterns: elements of reusable object-oriented software. Addison-Wesley: Boston, MA.ISBN 0-201-63361-2.
  2. 2.0 2.1 Adapter Pattern. (2016). Retrieved November 15, 2016 from http://wiki.c2.com/?AdapterPattern.