Design pattern per la mappatura dei campi di dati

5

Ho visto questo problema alcune volte e non riesco mai a trovare una soluzione che mi piace.

System A
    Sales Order Entity
        order_id
        created
        line_items_count

System B
    Sales Order Entity
        sales_order_id
        created_At
        num_line_items

Il problema è che gli ordini di vendita vengono creati nel Sistema A, ad esempio un sito di e-commerce. Gli ordini di vendita devono essere esportati e archiviati in un altro sistema, ad esempio un sistema di magazzino - Sistema B. Entrambi memorizzano gli stessi dati ma con nomi di campo diversi.

Esiste un modello di progettazione o una raccolta di schemi tipicamente usati per risolvere questo problema?

Finisco sempre con un array associativo contenente i campi mappati - ma sembra che ci debba essere una soluzione migliore.

Nell'esempio sopra riportato, non solo gli ordini di vendita potrebbero richiedere questo, anche i clienti, i prodotti, i livelli di inventario ecc. Pertanto, un modello generico sarebbe il migliore.

    
posta user1189880 28.05.2015 - 14:11
fonte

2 risposte

1

Anche se probabilmente non è riconosciuto come design pattern , ciò che descriveresti verrebbe chiamato Mapper.
Trasloca un oggetto in un altro.
Le implementazioni possono essere trovate su AutoMapper.org e su CodeProject .

    
risposta data 11.12.2015 - 22:33
fonte
0

Il linguaggio Web Ontology ( OWL ) implementa una logica di descrizione con sameAs e altre relazioni tra le descrizioni di tipi di entità come soluzione per questo problema. "Descrizione logica" è probabilmente il modello di progettazione per le mappature bidirezionali, poiché le altre rappresentazioni sono sottoinsiemi di ciò che una logica descrittiva può descrivere.

Se la mappatura è a senso unico, esistono molti linguaggi di trasformazione in cui può essere specificato, ad esempio XSLT se i dati hanno una rappresentazione XML.

    
risposta data 28.05.2015 - 14:17
fonte

Leggi altre domande sui tag