diff --git a/README.md b/README.md index 2da8572c9..2bb87be4b 100644 --- a/README.md +++ b/README.md @@ -54,6 +54,13 @@ ##Adapter **Intent:** Convert the interface of a class into another interface clients expect. Adapter lets classes work together that couldn't otherwise because of incompatible interfaces. +![alt text](https://github.com/iluwatar/java-design-patterns/blob/master/adapter/etc/adapter.jpg "Adapter") + +**Applicability:** Use the Adapter pattern when +* you want to use an existing class, and its interface does not match the one you need +* you want to create a reusable class that cooperates with unrelated or unforeseen classes, that is, classes that don't necessarily have compatible interfaces +* you need to use several existing subclasses, but it's impractical to adapt their interface by subclassing every one. An object adapter can adapt the interface of its parent class. + ##Bridge **Intent:** Decouple an abstraction from its implementationso that the two can vary independently.