Sorunuzu değiştirir ve şunu söylerdim: bir olaya dayalı bir nesne tabanlı uygulama için doğru çözüm olmadığında? Etkinlik üreticileri ve tüketicileri olarak tasarlandıklarında çoğu OO uygulamasının fayda sağlayabileceğini düşünüyorum.
Sonunda, bir "yöntem çağrısı" aslında bir nesneye gelen bir mesajdır ve nesne mesajla bir şey yapıp yapmayacağına karar vermek ve işlemi gerçekleştirmekle sorumludur. Bu, Java gibi güçlü yazılan dillerde çok açık değildir, ancak Ruby gibi dinamik dillerde daha belirgin hale gelir.
Bir uygulamayı olay tabanlı olarak tasarlamanın bir başka ilginç noktası, genellikle dahili bileşenlerin düzgün bir şekilde izole edilmesi ve tutarlı olması gerektiğidir, aksi takdirde kod çok, çok hızlı bir şekilde karışıklık haline gelir. Örnek olarak, Alistair Cockburn tarafından kullanılan Altıgen Mimari kavramını gerçekten seviyorum , çünkü genellikle bu desen daha iyi bir kapsülleme oluşturur ve (benim görüşüme göre) daha uyumlu bileşenleri zorlar.
Bence (ama muhtemelen yanılıyorum) Bu ayrıca Domain Driven Design konsepti ile ilişkili olduğunu Domain Olaylar alanı sınıfları diğer nesneler tarafından yakalanır olayları yayarlar ki, ve bu nesne yayarlar henüz diğer olaylar (nerede bakınız bu gidiyor: D). Bu model hakkında sevdiğim şey, arayüzlerin uygulamaları değil Rolleri modellemesi gerektiğini söylüyor.
Çok mantıklı değilsem, son birkaç aydır bu kalıpları harika sonuçlar ile deniyorum ama yine de kavramları ve ne kadar uzağa ulaştıklarını anlamaya çalışıyorum.