Wenden Sie das Prinzip der einheitlichen Verantwortung auf eine Schachbrett-Anwendung an, wofür sollte eine Stück-Schnittstelle/Klasse verantwortlich sein?Single Responsibility Prinzip - Schachbrett Stück
Ich bin sicher, dass es seine Farbe, Typ und gültige Bewegungen kennen muss. Aber sollte es auch seine Position (x/y) in der Tafel wissen? Oder sollte das Brett die Position jedes Stückes wissen.
Diese Entscheidung auch einige Auswirkungen auf hat, wie das Stück, dass bewegen kann, hat der Vorstand zu entscheiden, was eine gültige Bewegung für ein Stück etc ist
Sie könnten sich für diese Reihe von Eric Lippert interessieren: http://ericlippert.com/2015/04/27/wizards-and-warriors-part-one/. Er untersucht das Muster der Kodierung von Spielregeln als Eigenschaften und Methoden von Spielfiguren und lehnt es letztlich als ungeeignet ab. Die gültigen Züge für ein bestimmtes Stück sollten zum Beispiel im Objektmodell durch * Regel * -Objekte oder dergleichen dargestellt werden. (Dies würde es auch viel einfacher machen, Ihr Programm mit Chess960 oder einer anderen [Variante] (https://en.wikipedia.org/wiki/List_of_chess_variants) zu behandeln). – phoog
Können Sie die Verantwortlichkeiten in Bezug auf das Verhalten anstelle von Wissen angeben? Wenn ein Stück seine Position kennt, was ist das Verhalten, das über die Position wissen muss? Ähnlich für das Board. Übrigens möchten Sie vielleicht diesen sehr guten Artikel über SRP lesen: http://blog.8thlight.com/uncle-bob/2014/05/08/SingleReponsibilityPrinciple.html – Kata