タイピングゲーム演習をオブジェクト指向で実装したサンプルです。
- タイピングゲーム実装 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 パッケージ配下のパッケージ・クラス構成を整理した。考える基準は、同じ目的のクラスは近くなるように、くらい。