ben o zaman her biri için olay işleyicileri uygulayan tek sınıf yapabilirim nasıl buOverloading jenerik olay işleyicileri
trait Event {
}
class InventoryItemDeactivated(val id: UUID) extends Event;
class InventoryItemCreated(val id: UUID, val name: String) extends Event;
gibi etkinlik türü en aşağıdaki genel olay işleyicisi
trait Handles[E <: Event] {
def handle(event: E)
}
tanımlarsanız bu olayların Denedim: Ancak Scala, bir özelliğin iki kez miras alınamayacağından şikayetçidir.
Bu, bir çözümde ipuçları veren bu answer buldum, ancak birden çok sınıf (her işleyici için bir tane) gerektirir. Bu gerçekten tek yol mu yoksa tek bir sınıfın birden çok genel olay işleyicisi (yani vaka sınıflarını, tezahürleri veya başka bir süslü yapı kullanarak) yapmak için kullanabileceğim başka bir Scala yapısı var mı? Eğer bakıyor gibi görünüyor