Vogliamo consentire allo stesso servizio di base di essere pienamente implementato o, come opzione, di essere un proxy verso un sistema legacy client (tramite un WSDL per esempio).
In questo modo, abbiamo sia l'implementazione (proxy e pieno) che l'altro da utilizzare nella configurazione dell'app.
Quindi, in poche parole, alcune funzionalità desiderate:
- Due diverse implementazioni (proxy, complete) invece di un'implementazione con un passaggio all'interno
- Cambia implementazione usando la configurazione: dipendenza da iniezione? riflessione?
- Nice-to-have: il pacchetto consegnato al client non deve cambiare a seconda della scelta tra proxy o completo
- Nice-to-have: il cliente può sviluppare la sua implementazione personalizzata dell'interfaccia principale e configurare l'applciation per usarlo
In questo contesto, la domanda è: quali alternative dobbiamo scegliere una implementazione o un'altra interfaccia cambiando semplicemente configurazione?
Grazie