2010-06-24 12 views
5

Ortak tasarım deseninin altında ne yapıyorum? Eğer öyleyse, isim ne?Bu yaygın bir tasarım kalıbı mıdır? "Tanımlayıcı düzeni"?

Dizeler ve Dizeler gibi "basit" alanlar ve diğer karmaşık nesneler içeren karmaşık bir nesnem var. Bu nesnenin örneklerini bir JMS ileti sırasına eklemek istiyorum, bu da Serializable olmalıdır. Tüm nesne grafiğini Serializable yapmak istemiyorum, bunun yerine, nesneleri oluşturabilen karmaşık nesneleri ve "Oluşturucu" nesnelerini oluşturmak için gerekli bilgileri içeren "Tanımlayıcı" nesneleri yapmak için seçtim. Şimdi, "Tanımlayıcı" nesnesini serileştirip kuyruğa ekliyorum. Nesne dequeued olduğunda, "Builder" kullanılarak tam teşekküllü bir nesneye yerleştirilir.

Yapılması gereken önemli bir nokta, nesnelerin diğer sistemlerde çalıştırılan işlerdir. İleti sırası bir yoldur ve serileştirme yalnızca işin yaşam döngüsünün başlangıcında gerçekleşir.

cevap

9

Uyguladığınıza en benzer desen, Memento modelinde görünüyor.

Bu durumda

bir "önceki devlet" olarak Memento'yu kullanarak eski durumuna geri yüklemenizi şey orijinal nesneyi değiştirebilirsiniz ederken Memento nesnesine bir nesnenin durumunu saklamak için kullanılan ve tanır oluyor senin nesnen. Senin durumunda

özgün birini değiştirmek için nesnenin bir anlık saklamak gerekir ama sadece aynı şeyler ama oldukça benzer değil bu yüzden kendisinin serializable değerinin hafif versiyonu olarak değil.

+0

Yanıt ve kısa açıklama için teşekkürler. –

4

Bana göre bu, Memento pattern'u uyguladığınız (bir kısmı) gibi geliyor.

İlgili konular