docs: Improve Acyclic Visitor and Adapter readmes

This commit is contained in:
Ilkka Seppälä
2024-02-25 13:58:45 +02:00
parent 1ab8ca76fb
commit 79d41d9336
2 changed files with 11 additions and 3 deletions
+9 -3
View File
@@ -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 wont work when we want to adapt a class and all its subclasses.