Open ebinase opened 2 years ago
⏫ ドメイン層を以下のように大別
上から純粋なオセロのルールなど、参加者や対戦モードなどのゲームとしてのオセロの管理、ボット、自作ライブラリ等
純粋な遊戯としてのOthello、その中で毎ターン変化する項目としてTurnを定義する。
Othello
OthelloはEntity、TurnはValueObjectとして再定義。
クラスの構造やディレクトリ名の変更などかなり修正範囲が大きくなる。 そこでテストエラーが発生することを恐れず大きな変更を加えてから、分割統治の考え方で一つ一つの機能のテストをグリーンにすることを目指す。 その積み重ねから最終的に動作する安定した状態への復帰を目指す。 (ついでにカバレッジも上げていく)
これを元にOthelloのリファクタリング開始
次はGameの修正だけど、いったん保留へ。 フロント側へOthelloの基本機能を提供するため、バックエンドのwebページはダウンさせる。
API実装・フロント連携をするプレゼンテーション層を充実させる前に、少しごちゃごちゃしていたドメイン層を改めて整理してみる。