[技術講座] CppUnit 入門
実践的な内容にするために、ちょっとしたサイコロゲームを例に話を進めたいと思います。ゲームの概要は次の通りです。
時代劇の博打の場面でおなじみのアレですね。
あまり事前設計をせず、プログラミングをしながらリファクタリングによって設計を洗練させていくのが XP の流儀のようですが、個人的には少なくとも分析およびアーキテクチャ設計は事前にきちんとしておいた方が良いと思います。
以下に、今回作成するサイコロゲームのクラス図を示します。各クラスの責務は次の通りです。
クラス名 クラスの責務 Dice ランダムに1から6までの目を生成する。 DiceGamePlayer プレーヤの得点、成績を保持する。 DiceGame サイコロゲームの流れを管理する。 DiceGameListener DiceGame で発生するイベントを受付ける。 DiceGameUI 結果を表示し、入力を受付ける。
クラス数が少ないのでパッケージの細分化は行いません。バウンダリクラス (UI) とコントローラクラスとの関連を単方向にするために DiceGameListener という interface を設けました。後のテストでも実はこれが有効に働いてきます。
© 2001 OGIS-RI Co., Ltd. |
|