Skip to content

yoichi-nakao/typing-game

Repository files navigation

typing-game

タイピングゲーム演習をオブジェクト指向で実装したサンプルです。

クラス図

クラス図

変更履歴

  • タイピングゲーム実装 UML タグ
  • stream を使って書き換え UML タグ 差分
  • ランキングに開始時刻を表示 UML タグ 差分
  • 回答履歴を表示 UML タグ 差分
  • TypingGame.execute の標準入出力部分を外部化 UML タグ 差分
    • TypingGame から標準入出力を切り離すため、TypingGameListener(インターフェース) を導入した。(依存関係逆転の原則)
  • パッケージを構成してクラスを配置 UML タグ 差分
    • TypingGame から標準入出力が切り離されたので、パッケージを UI 部分(ui パッケージ)とビジネスロジック部分(business パッケージ)に分けた
  • アツいゲームモードを実装 UML タグ 差分
    • TypingGameListener により、TypingGame の標準入出力部分の実装が切り替え易くなったので、新しいゲームモードを導入した。
  • TypingGame.execute の次の問題の生成部分を外部化 UML タグ 差分
    • TypingGame から次の問題を生成する処理を切り離すため、NextQuestionGenerator(インターフェース) を導入した。
  • 過去の問題と一致しない出題方法を実装 UML タグ 差分
    • NextQuestionGenerator により、TypingGame の次の問題を生成する処理が切り替え易くなったので、新しい問題生成モードを導入した。
  • ConsoleConductor が肥大化してきたのでモード入力を別クラスに分離 UML タグ 差分
  • business パッケージを再構成 UML タグ 差分
    • ui 及び business パッケージ配下のパッケージ・クラス構成を整理した。考える基準は、同じ目的のクラスは近くなるように、くらい。

このプログラムを書くにあたって参考にしている考え方が学べる本

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages