2011-01-24 11 views
6

Ho bisogno di creare una classe che sta creando un file di configurazione XML basato su un altro oggetto.Domanda di progettazione orientata agli oggetti

Ci sono 3 oggetti diversi. L'algoritmo di costruzione è molto simile per tutti gli oggetti, ma non lo stesso.

Stavo pensando di utilizzare una classe base con un metodo astratto e quindi solo creare una classe derivata con cui sovrascrivere il metodo astratto.

Ma il problema è che questi 3 oggetti non hanno un'interfaccia o una classe base comune. Questi oggetti sono componenti di terze parti. Non posso refactoring loro. Quindi non esiste un contratto comune per tutti gli oggetti.

Esiste una soluzione conveniente per questa situazione? Forse qualche schema di progettazione che non conosco?

+1

sono i tipi supportati nel codice destinata a cambiare? Vale a chiedere, la soluzione dovrebbe essere facilmente scalabile per supportare altri tipi di terze parti? In caso contrario, utilizzare semplicemente una classe base per eseguire lavori comuni e classi derivate per gestire qualsiasi specifica. –

risposta

1

è possibile creare le 3 classi personalizzate estendendole rispettivamente [Non sono sicuro di C#] e implementare un contratto comune.

3

è possibile definire una classe astratta XMLSerializable e quindi utilizzare il Adapter pattern per adattare tali componenti di terze parti in XMLSerializable oggetti

Problemi correlati