Padrão para gravar e escrever para diferentes formatos de arquivo
-
09-06-2019 - |
Pergunta
Existe um padrão que é bom para usar quando salvar e carregar os diferentes formatos de arquivo?
Por exemplo, eu tenho uma complicada hierarquia de classes para o documento, mas eu quero suporta alguns formatos de arquivo diferentes.
Eu pensei sobre o padrão de Estratégia, mas eu não estou convencido de que, devido à necessidade de acesso a cada parte do objeto, a fim de guardar e carregar.
Solução
Você pode usar um O Visitante Padrão, permite iterar sobre sua hierarquia fazendo operações diferentes, dependendo do nó em que o Visitante está processando no momento.
Más notícias:você provavelmente terá que incluir pelo menos um método virtual no topo da hierarquia, e talvez redefini-la em algumas classes derivadas, e o visitante ainda acessar os dados dos nós, mas você dissociar o formato de arquivo, como visitantes diferentes implementações pode escrever os dados recolhidos em diferentes formas.
Dê uma olhada também no memento padrão se ocultando a classe de hierarquia de dados é uma obrigação. Este artigo também poderia ser útil.
Editar:Link para o original Memento padrão artigo usando o cache do google
Outras dicas
Você pode querer dar uma olhada no Construtor padrão.GoF página 97..
Como sobre (algo baseado em) o Método de modelo padrão?
Uma superclasse sabe como rasgar a hierarquia de classes, mas depende de suas subclasses para realmente fazer algo de útil com ele.