mirror of
https://github.com/tiennm99/java-design-patterns.git
synced 2026-05-14 10:58:42 +00:00
docs: Improve Acyclic Visitor and Adapter readmes
This commit is contained in:
@@ -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)
|
||||
|
||||
+9
-3
@@ -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
|
||||
|
||||

|
||||
|
||||
## 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.
|
||||
|
||||
Reference in New Issue
Block a user