Esiste un modello di progettazione o una tecnica in Coldufsion / Java per serializzare oggetti in modo diverso a seconda dei desideri del cliente?

2

Ho dati disponibili sotto forma di Structs and Arrays.

Ho bisogno di alcuni consigli sul modello di progettazione, che posso utilizzare per modellare questa situazione in corrispondenti componenti Coldfusion.

Ecco la definizione dei dati

Ho oggetti come

  • Albergo
  • Appartamento
  • bus

Ogni oggetto ha i suoi attributi e le sue immagini. Le immagini hanno anche diversi tipi come miniature, galleria ecc.

Gli attributi possono essere semplici o complessi Attributi semplici come: nome, codice, id ecc E gli attributi complessi sono essi stessi oggetti che hanno propri Attributi e Immagini.

La seconda parte è Clienti. I nostri clienti ricevono questi oggetti come file di esportazione XML. Ogni cliente ha le sue esigenze. Ad esempio alcuni vogliono un tipo di attributi e altri vogliono altri attributi. Alcuni vogliono che un tipo di immagini debba essere esportato e alcuni vogliono che tutti i tipi di immagine debbano essere esportati.

    
posta user160820 27.03.2013 - 10:15
fonte

1 risposta

2

In genere, ciò che farei in questa situazione è di avere una definizione XML per ciascuno dei tuoi oggetti come Hotel, Appartamenti e Bus. Scegli la definizione più semplice possibile, sarà solo nota a te. Esempio:

<hotel id="1">
 <property1></property1>
 <image type="X"></image>
 <image type="Y"></image>
 etc.
</hotel>

Gli oggetti che desideri esportare verranno prima serializzati in file XML, date le tue definizioni.

Quindi, devi associare per ogni cliente un XSLT file che sarà in grado di per trasformare il tuo file XML privato nel formato XML desiderato dal cliente. Dato un XML di origine, con XSLT potrai generare file XML di destinazione con qualsiasi attributo o elemento desiderato dal cliente.

In sostanza, ecco il processo per generare file XML compatibili con ciascun cliente:

  1. Serializza i tuoi oggetti su uno o più file XML
  2. Ottieni il file XSLT associato al tuo cliente
  3. Applica la trasformazione XSL ai tuoi file XML di origine per ottenere i file XML di destinazione

Il vantaggio principale di questa tecnica è che hai il tuo formato XML, nessuno lo sa a parte te e, in quanto tale, non hai diritto a un formato XML cliente specifico / proprietario.

È più una tecnica che un disegno, ma ti garantisco che è una buona idea. Infine, è passato molto tempo da quando ho eseguito alcuni XSLT, ma se non hai familiarità, controlla il sito web di riferimento MDN .

    
risposta data 04.04.2013 - 15:07
fonte

Leggi altre domande sui tag