Come progettare il livello anti-corruzione in DDD

1

Mi sto preparando a creare un'integrazione con un importante sistema esterno e mi chiedevo se la mia comprensione del modello di progettazione per questo progetto basato sul dominio fosse solida.

Considerazioni: External System serve SOAP, la mia è una soluzione web api 2.
Operazioni CRUD complete su molti metodi SOAP

I miei pensieri:

  1. Crea una classe di facciata gigante che riceve i dati.
  2. Ogni metodo nella facciata chiama un adattatore che quindi trasforma i dati da SOAP in un modello di dominio.
  3. Chiama l'adattatore nella classe di servizio dell'infrastruttura e trasferiscilo nel dominio.

Preoccupazioni: Questo pattern sembra corretto? Esiste uno più adatto per la creazione di un contesto limitato chiaramente definito?

Utilizzerei l'infrastruttura come passaggio per il dominio, a questo punto non farebbe molto, un'altra opzione è passare l'adattatore direttamente in una fabbrica, anche se preferisco passare attraverso l'infrastruttura.

Diagramma concettuale su cui baso il mio progetto:

    
posta RandomUs1r 22.08.2017 - 21:30
fonte

1 risposta

2

Un livello Anti-corruzione è una classe / pacchetto / componente che prende come input il modello esterno e produce il modello locale.

Ad esempio, in un'architettura CQRS, può essere implementato come Saga : prenderebbe gli eventi generati da aggregates nella% esternabounded context e creerebbe commands per aggregates nella% % co_de.

    
risposta data 22.08.2017 - 22:12
fonte

Leggi altre domande sui tag