2008-09-17 18 views
5

Farklı dosya biçimlerini kaydederken ve yüklerken kullanmak güzel bir desen var mı?Farklı dosya biçimlerine kaydetme ve yazma için desen

Örneğin, ben belge için karmaşık bir sınıf hiyerarşisi var, ama birkaç farklı dosya formatlarını destek vermek istiyoruz.

Ben Strateji deseni hakkında düşündüm ama çünkü kaydetmek ve yüklemek için nesnenin her tarafını erişmek için ihtiyaç ikna olmadım.

cevap

2

Bunu Ziyaretçi şu anda işleniyor düğümün bağlı olarak farklı işlemler yaparak sizin hierachy yineleme sağlayan bir Visitor Pattern kullanabilirsiniz.

Kötü bir haber: muhtemelen hiyerarşinin en üstünde en az bir sanal yöntem eklemeniz gerekir ve belki de bazı türetilmiş sınıflarda yeniden tanımlamanız gerekir ve ziyaretçi düğümlerin verilerine erişmeye devam eder, ancak dosya biçimini ayrıştırırsınız Farklı ziyaretçi uygulamaları, farklı şekillerde toplanan verileri yazabilir. sınıf hiyerarşisi verileri gizleyerek bir zorunluluktur eğer

memento pattern de bir göz atın. This article da yararlı olabilir.

Düzenleme: Bağlantı özgün Memento pattern article için hatıra model için yazıya

+0

Kişisel linki google önbellek kullanılarak kırıldı. Başka bir iyi var mı? –

+0

Vay, 7 yıl gibi oldu; ve hatta Makalenin adı, üzgünüm –

+0

iyi haberi hatırlamıyorum, bu google önbellek kullanılarak bulundu: http://webcache.googleusercontent.com/search?q=cache:www.ondotnet.com/pub/a/dotnet/ 2002/09/09/memento.html –

1

Builder modeline göz atmak isteyebilirsiniz. GoF sayfa 97 ..

0

Template method pattern hakkında bir şeyler (nasıl)?

Bir üst sınıf, sınıf hiyerarşisini nasıl parçalayacağını bilir, ancak alt sınıflarına, aslında onunla yararlı bir şeyler yapmak için nasıl dayanır.

İlgili konular