Come può il mio programma rappresentare al meglio una traduzione tra strutture di dati imperfettamente corrispondenti?
Ho il compito di una traduzione unidirezionale dei dati da un sistema a un altro. Entrambi i sistemi sono stabiliti, non ho la possibilità di modificare le loro strutture di dati.
Se le strutture corrispondessero all'articolo per articolo, sarebbe semplice tradurre:
- Iterate su tutti gli elementi di input:
- Trasforma l'elemento
- Compila l'elemento di output
(Stiamo implementando la traduzione in Python, quindi se fosse così semplice definirei le trasformazioni a livello di articolo, quindi iterare le strutture dei dati in una singola istruzione.)
Tuttavia, ciò non funzionerà, perché i sistemi hanno strutture dati incoerenti.
Le strutture dati hanno correlazioni ampiamente sovrapposte che abbiamo scoperto, ma ci sono molte incongruenze; una sequenza qui sarà un singolo oggetto lì; una coppia di oggetti non correlati qui sarà una sequenza omogenea lì; e così via.
Quali pattern posso seguire per rappresentare le strutture di dati per lo più correlate ma imperfettamente allineate, in modo tale che la traduzione descriva tutta la complessità della mappatura e tutto ciò che dobbiamo fare è connettere i sistemi a ciascuna estremità?