Hallo Zusammen,
wer sich mit Modul-basierten Frameworks wie Microsoft Prism oder Angular beschäftigt hat wird bestimmt schon einmal über das Thema Event Aggregation gestolpert sein. Hier ein Link dazu:
Martin Fowler - Event Aggregator
Es gibt bestimmt genügend unter euch, die meinen, das sollte mit vernünftiger DI gar nicht notwendig sein, allerdings hat mir jede Praxis was anderes gezeigt, die (möglichst) lose gekoppelte Komponenten verwenden möchte. Das erste was mir dazu einfällt, ist das reagieren auf eine Kollision eines physikalischen Objektes mit einem angezeigtem Achievements. Das sollte, wenn man es sauber trennt, nicht direkt im Code ausgelöst werden, der die physikalische Berechnung macht, denn das gehört da nicht hin. Eine coole Lösung ist, ein Ereignis loszuschicken, um denjenigen, den das interessiert, zu benachrichtigen. Das kann dann eine Komponente sein die sich nur um Achievements kümmert.
Ich möchte dieses Pattern "ausprobieren" und schauen, ob es nicht doch einige Verzahnungen von Klassen auflöst, die nicht wirklich zusammen gehören. Habt ihr so etwas schon einmal benutzt bzw. was haltet ihr von dieser Lösung? Wenn ihr solch eine Lösung implementiert habt, würde mich die Architektur sehr interessieren!
Ansonsten bin ich über Diskussionen gespannt, wie sinnvoll oder sinnfrei das Ganze für euch ist.