Following are a few use cases where this pattern will be a right fit:
- Controlling the object lifecycle: The instantiation of server side objects can be controlled within the proxy pattern thereby supporting scenarios like lazy instantiation, singleton, object pooling, and so on.
- Security: Proxy can act like another layer of security as it prevents the client from directly interacting with the Microservice.
- Transformation: Proxy can perform certain degree of transformations to abstract these complexities from the client.