Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.

001 Tournament Factory

Status

Accepted

Kontext

In unserem Projekt gibt es verschiedene Tournament Objekte, welche sich durch optionale Zusätze wie Vorrunden/ Loser-Brackets voneinander unterscheiden. Die Überlegung hierbei war, entweder ein TOurnament Objekt zu erstellen, welches die Zusatzparameter beinhaltet, die je nachdem aber leer sein können, oder mehrere verschiedene Objekte zu bauen. Zudem war die Überlegung, zwischen einer Factory methode, die alle Objekte erstellt oder mehreren Methoden, die jeweils nur ein spezifisches Objekt erstellen.

Entscheidung

Wir haben uns dazu entschieden, mehrere verschiedene Objekttypen zu implementieren, um unnötigen Code zu vermeiden. Außerdem haben wir festgelegt, dass wir mehrere create() Methoden in der Factory erstellen, welche jeweils ein Objekt eines speziellen Tournamenttyps erstellen können. Dies hat den Vorteil, dass die Logik des Codes viel besser verständlich ist und dass