diff --git a/acyclic-visitor/README.md b/acyclic-visitor/README.md index 7976be06c..57adf4673 100644 --- a/acyclic-visitor/README.md +++ b/acyclic-visitor/README.md @@ -160,3 +160,5 @@ Trade-offs: * [Acyclic Visitor by Robert C. Martin](http://condor.depaul.edu/dmumaugh/OOT/Design-Principles/acv.pdf) * [Acyclic Visitor in WikiWikiWeb](https://wiki.c2.com/?AcyclicVisitor) +* [Design Patterns: Elements of Reusable Object-Oriented Software](https://www.amazon.com/gp/product/0201633612/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=0201633612&linkCode=as2&tag=javadesignpat-20&linkId=675d49790ce11db99d90bde47f1aeb59) +* [Head First Design Patterns: A Brain-Friendly Guide](https://www.amazon.com/gp/product/0596007124/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=0596007124&linkCode=as2&tag=javadesignpat-20&linkId=6b8b6eea86021af6c8e3cd3fc382cb5b) diff --git a/adapter/README.md b/adapter/README.md index 553471816..8de9f4138 100644 --- a/adapter/README.md +++ b/adapter/README.md @@ -3,15 +3,18 @@ title: Adapter category: Structural language: en tag: - - Gang of Four + - Compatibility + - Gang of Four + - Integration --- ## Also known as + Wrapper ## Intent -Convert the interface of a class into another interface the clients expect. Adapter lets classes work together that -couldn't otherwise because of incompatible interfaces. + +The Adapter pattern converts the interface of a class into another interface that clients expect, enabling compatibility. ## Explanation @@ -92,9 +95,11 @@ captain.row(); ``` ## Class diagram + ![alt text](./etc/adapter.urm.png "Adapter class diagram") ## Applicability + Use the Adapter pattern when * You want to use an existing class, and its interface does not match the one you need @@ -111,6 +116,7 @@ Use the Adapter pattern when ## Consequences + Class and object adapters have different trade-offs. A class adapter * Adapts Adaptee to Target by committing to a concrete Adaptee class. As a consequence, a class adapter won’t work when we want to adapt a class and all its subclasses.