Proxy Design Pattern java implementation
./mvnw clean ; ./mvnw test -U
One of proxy pattern usage can be for example cached implementation:
+----------------------+ +--------+
| Gateway (shared API) |<----| Client |
+----------------------+ +--------+
^
|
+----------------+---------------+
| |
+-------------------------+ +----------------------------+
| GatewayImpl (immutable) | | GatewayCachedProxy (proxy) |
+-------------------------+ +----------------------------+