Domanda

Esiste un modello utile da utilizzare durante il salvataggio e il caricamento di formati di file diversi?

Ad esempio, ho una gerarchia di classi complicata per il documento, ma desidero supportare alcuni formati di file diversi.

Ho pensato al modello Strategy, ma non ne sono convinto a causa della necessità di accedere a ogni parte dell'oggetto per salvarlo e caricarlo.

È stato utile?

Soluzione

Potresti usare a Modello dei visitatori, consente di scorrere la gerarchia eseguendo operazioni diverse a seconda del nodo che il Visitatore sta attualmente elaborando.

Cattive notizie:probabilmente è necessario aggiungere almeno un metodo virtuale in cima alla gerarchia, e magari ridefinirlo in alcune classi derivate, e il visitatore accede comunque ai dati dei nodi, ma si disaccoppia il formato del file, poiché diverse implementazioni dei visitatori possono scrivere i dati raccolti in modi diversi.

Dai un'occhiata anche a modello di ricordo se è necessario nascondere i dati della gerarchia delle classi. Questo articolo potrebbe anche essere utile.

Modificare:Collegamento all'originale Articolo modello ricordo utilizzando la cache di Google

Altri suggerimenti

Potresti dare un'occhiata al modello Builder.GoF pagina 97..

Che ne dici di (qualcosa basato su) the Modello del metodo modello?

Una superclasse sa come fare a pezzi la gerarchia delle classi, ma fa affidamento sulle sue sottoclassi per fare effettivamente qualcosa di utile con essa.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top