if Abfrage vs Object Behavior
Verfasst: Montag 3. Dezember 2012, 18:03
Wir sollen für ein Uniprojekt Carcassonne implementieren. Bei diesem Spiel gibt es Karten, die aneinander gelegt werden (Regeln). Es gibt unter anderem Klöster, die für jede anliegende Karte einen Punkt bringen (max. 9 Punkte).
Beim legen der Karte passiert unter anderem folgendes (Smalltalk):
``aCard abbey activateAt...`` führt entweder eine Aktivierung durch (Registrierung auf Events beim Legen einer Karte), oder, wenn die Karte kein Kloster hat, ist die entsprechende Methode ein `noop`.
Meine Kommilitonen argumentieren, dass sie dies als unintuitiv empfinden und lieber folgendes sehen würden:
Damit bin ich allerdings nicht einverstanden, da für mich die Verantwortung bei dem entsprechenden Abbey-Object liegt.
Mich würde interessieren, was eure Meinung dazu ist.
Beim legen der Karte passiert unter anderem folgendes (Smalltalk):
Code: Alles auswählen
aCard abbey activateAt: aPoint on: self.
Meine Kommilitonen argumentieren, dass sie dies als unintuitiv empfinden und lieber folgendes sehen würden:
Code: Alles auswählen
aCard hasAbbey ifTrue: [ aCard abbey activateAt: ...]
Mich würde interessieren, was eure Meinung dazu ist.