Bir uygulamaya 'sürüm oluşturma' yapma ihtiyacım var ve buna en iyi nasıl yaklaşacağımı merak ettim.Hangi sürüm tasarımı desenini önerirsiniz?
Modeli A'nın birçok B
güncelleme üzerine bir ihtiyaç nitelikleri sürüm edilecek ve ilişkili nesneler (B) ayrıca sürüm gereken:
Bunu genel desene sahiptir. Böylece uygulama, A'nın mevcut sürümünü gösterecektir, ancak A'nın önceki sürümlerini ve ilişkili nesnelerini de görüntülemek mümkün olmalıdır.Bir belge deposu kullanmak istiyorum, ancak bu uygulamanın yalnızca bir kısmıdır ve bir doc store'a ve bir ilişkisel veri tabanına sahip olmak daha karmaşık hale getirecektir.
Yıldız şemasını kullanmayı düşündüm, ancak ilerlemeden önce, bu sorunla uğraşırken bir tasarım deseni olup olmadığını merak ediyordum?
İlişkilendirilmiş bir nesnenin sürümlerini ilişkisel bir veritabanında depolamanın sorununu çözmek için bu soru, eğiktir. Verileri etkili bir şekilde sorgulayabilmek için gerekli bir ihtiyaç olduğunda (yani serileştirme nesnesi yeterli olmaz).
Güncelleme: ne düşünüyordum/uygulanan ama modeli A çoğaltarak ve tüm ilişkili B ve sürüm niteliğini artırma olacağını "daha iyi bir yolu"
,---------. 1 * ,--------.
| Model A |----------| Model B|
`---------' `--------'
|PK | | a_id |
|b_version| |version |
|version | `--------'
`---------'
olup olmadığını görmek istiyorum var. Ardından b_version ve b.version ile B'ye katılmak için bir seçim yapın. Sadece bu daha iyi yapılabilir eğer merak ediyorum.
Bu uygulama, sürümler ve ilişkili nesneler arasındaki ilişkileri sürdürme sorununu çözmeyecektir – MatthewFord
deimos1986: tabiki bir dbschema örneğiyle güncellenir. Bunu wiki uygulamalarında görebiliyorsunuz. Ben MediaWiki veya diğer opensource wiki sistemleri bakmak ve bazı ilham almak için kendi veritabanı modellerine bir göz atmanızı öneririm – Spoike
Oh Eğer sürümünün sürümleri için gereken tüm nesnelerin bir konfigürasyonu var demek istiyorsun ... – Spoike