平鍋です.
HidehikoAKASAKA wrote:
> でも、Gameのadd(11)の問題はこのままで良いの?とか気になる部分がいくつか
> あります。最後のコードを見ると本当にシンプルで解り易いのでしょうか?
> 結局、GameとScoreの2つのクラスに落ち着いてしまいましたが、クラス図にし
> てみると、私には結構ダザイ感じがします。
> Gameがフレームの1投目かどうかを知ってる(firstThrowInFrame)とか、フレーム
> の知識も知ってるとか。また、Scoreがスコア計算用に持っているballという属
> 性は解り難いような気がします。
ええ,わたしもめちゃダサだと思いますよ.でも,テスト駆動開発がこう導いた
なら,それはそれで一つの収束解かと.
ちなみに,私も自分でテスト駆動開発,同じ問題でやってみています.
(教育用に使っている題材なので,少しネーミング違います.)
私のはもう少しマシな気が...
http://ObjectClub.esm.co.jp/eXtremeProgramming/bowling.zip
私は,Score, Frame, FinalFrame(extends Frame) の3クラスで書き始めて,
途中,リファクタリングで,SemiFinalFrame を発見しています.
> とても面白い記事でした。
この点は,異論なし!
書籍『Agile Software Development: Principles, Patterns, Practices』
Robert C. Martin
http://www.amazon.co.jp/exec/obidos/ASIN/0135974445/xpjp-22
に掲載されている記事です.
以上