川端です.
たくさんの方にご覧いただけて,とても嬉しいです.
またコメントをありがとうございました.
赤坂さん,平鍋さん wrote:
> > でも、Gameのadd(11)の問題はこのままで良いの?とか気になる部分がいくつか
> > あります。最後のコードを見ると本当にシンプルで解り易いのでしょうか?
> > 結局、GameとScoreの2つのクラスに落ち着いてしまいましたが、クラス図にし
> > てみると、私には結構ダザイ感じがします。
> > Gameがフレームの1投目かどうかを知ってる(firstThrowInFrame)とか、フレーム
> > の知識も知ってるとか。また、Scoreがスコア計算用に持っているballという属
> > 性は解り難いような気がします。
>
> ええ,わたしもめちゃダサだと思いますよ.でも,テスト駆動開発がこう導いた
> なら,それはそれで一つの収束解かと.
このことは私もすごく悩みました.
ペアプロする相手によっても,収束解って変わりますよね.
で,役割をきっちりさせる意味でもっとリファクタリングできるんでしょうが,
YAGNIの原則に反するのか?っていう感じもしました.
オブジェクト指向的には,ダサイと思うんですが,これは
XPでいうシンプルなのかな?とも思いました.
例えば,ボーリングのルールを変更した時,
数多く作られたクラスと,2つだけのクラスとでは
実際どちらが早く仕様変更に対応できるか?
普通は役割が分かれているモデルの方が仕変に強いと思いますが,
予想しない変更だった場合,どうなんだろう?と.
この辺,皆さんの意見を伺いたいです.
■■■............ Agileware.jp
アジャイルウェア
川端 光義
E-mail:kawabata@....jp
URL:http://agileware.jp
--- Agileware.jp ---------■■■■■■