オブジェクト指向システムの設計 171 [無断転載禁止]©5ch.io
■ このスレッドは過去ログ倉庫に格納されています
0684uy ◆e6.oHu1j.o
2016/06/29(水) 10:40:05.58ID:XGWq+m9juyさんは>>670 コードを書かない次元での設計()は机上の空論という事を知ってる
必要なのはmove関数を受け渡す事と、それぞれに初期処理を行わせることで、それ以上にやる事は何もない
[歩,飛,角...]とリスト化し、
しいていうなら
update ← この名前
これで統一し
Collection([歩,飛,角...]) # 内部でupdate呼び出し
または
[歩,飛,角...].each { |v| v.update }
最上位なんて、こうなるだけで
歩,飛,角,がそれぞれ同じクラスのインスタンスだろうと、
別クラスのインスタンスだろうと
リストに入れた後はupdateメソッド呼び出すだけだから型なんて関係ないから
ちなみにuyさんが将棋を作る場合
歩,飛,角はそれぞれ別クラスで定義する
おそらく、格クラスには、駒moduleをmix-inする1行と、数行のコンストラクタと、
update関数(数行〜20行程度)が、あるだけになるけど
わざわざ圧縮して書く処理でもないから
■ このスレッドは過去ログ倉庫に格納されています