Olay Odaklı ve Olay kaynağı arasındaki fark nedir?


13

Etki alanı odaklı tasarım (DDD) okuyorum ve terimlerle karşılaştım: Olay Odaklı ve Olay kaynak. Olayın üreticiden tüketiciye yayınlanması ve günlüğün depolanması ile ilgili olduğunu biliyorum, bu yüzden sorum şu:

Olay Odaklı ve Olay kaynağı arasındaki fark nedir?

Yanıtlar:


17

Olay güdümlü mimari terimi , esas olarak veya münhasıran olaylar aracılığıyla iletişim kuran bileşenlere dayanan her türlü yazılım sistemi için kullanılır. Örneğin, herhangi bir popüler platformdaki neredeyse tüm büyük GUI çerçeveleri olay güdümlü mekaniği kullanır. "Olay" terimi genellikle bu bağlamda "bildirim" anlamına gelir.

Olay kaynağı , tüm uygulama durumunun bir olaylar dizisi olarak depolandığı sistemlere atıfta bulunarak çok daha özel bir terimdir. Bilinen popüler bir örnek sınıf, herhangi bir durum değişikliğini bir işlem günlüğüne depolayan işlemsel veritabanı sistemleridir. Burada "olay" terimi daha çok "bildirim" değil, "durum değişikliği" anlamına gelir.

Dolayısıyla, temel mekaniği olarak "olay kaynağı" kullanan herhangi bir sistem, aynı zamanda düz bir sistem olarak da görülebilir, ancak bunun tersi genel olarak doğru değildir.


Cevabınızı kaldırdı. Bunu şimdi kendim bakıyorum ve önce cevabınıza rastladım. "Tüm uygulama durumu bir dizi olayı olarak saklanır" ifadesine baktığınızda, şu şekilde söylüyorsunuz: "Uygulamanın durumu doğrudan geçerli formunda kalmıyor. Bunun yerine, her oluşturma, güncelleme veya silme işlemi gerçekleştiriliyor bir nesne veya model üzerinde 'olay' olarak kabul edilir ve bu doğrudan devam eden “olaylar” dır. Bu nedenle, bir nesnenin mevcut durumunu elde etmek için, bir kopyasını yeniden oluşturmak için bu olayları yeniden oynatmanız gerekir. ” Bu doğru görünüyor mu?
Panzercrisis

1
@Panzercrisis: Yazmış olmalıyım "Olay Sourcing , uygulama durumundaki tüm değişiklikleri bir olaylar dizisi olarak saklar ." (Fowler gibi). Tüm nesneler genellikle "geçerli" bir duruma sahiptir, bu durum aynı zamanda olay dizisinin kendisinin de kalıcı (belki ertelenmiş) olabilir. Tam açıklama için Fowler'in makalesini okumanızı tavsiye ederim.
Doc Brown
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.