2014-01-17

http://anond.hatelabo.jp/20140117000313

元増田です。ありがとうございます

モデルで発生するイベントが多く、複雑になるほど、ビューとの関連は密になる。

ここの所は、今回の例ではいまいち見えづらい気がする。

しかに、そうですね… 

攻撃を支持した時点で刀をふりあげて、そのあいだに毒でモンスターが死んだら、納刀する、のような場合では、モデル・ビューの関連が密になる例になるでしょうか。

いや、そのときModel「刀」をつくればいいのか…

Qtsignal/slotなんかはモデル同士の通信にも使える

これは知りませんでした。基本クラスレベルObserverパターンサポートされる!しかタイプセーフ…

Mac OS XCocoaフレームワークにも KVO という同様の仕組みがありますが、型のチェックは自分でする必要があります

MOVEの考え方からいえば、モデルの責務が吸い出されて単なるデータになってしま

MOVEは望まれなかった子 - the sea of fertility

を読んで、MVCを理解した(つもりになった)ので、MOVE設計方針自体スルーしていました。

Modelから責務が吸いだされて、なくなるのが予定調和なら、OVEでよいのでは

記事への反応 -
  • 例えばスーファミのFFみたいな、古典的なRPGの戦闘シーンを作っていて、「勇者がモンスターを攻撃する」。 勇者.attack(モンスター); という設計だったとする。 これに「モンスターが毒...

    • モデルで発生するイベントが多く、複雑になるほど、ビューとの関連は密になる。 ここの所は、今回の例ではいまいち見えづらい気がする。今回の例で複雑になっているのはモデルだ...

      • 元増田です。ありがとうございます。 モデルで発生するイベントが多く、複雑になるほど、ビューとの関連は密になる。 ここの所は、今回の例ではいまいち見えづらい気がする。 ...

    • MVC以前にオブジェクト指向がしっくりきてないでしょ。 「勇者がモンスターを攻撃する」。 勇者.attack(モンスター); という設計だったとする。 これが既にオブジェクト指向的じゃな...

      • ご意見くださって、ありがとうございます。 例にあげたRPGのモデル設計はhttp://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1178047006を参考にしました。 ですが自分で書くとしても、十中八九そ...

        • 英語として読みにくいなら、メソッド名のほうを変えるよ。 モンスター.attackedBy(勇者.attackPower) 攻撃方法が増えるなら、攻撃方法を抽象化するでしょ。 攻撃方法型を作って モンスター....

        • 一理あるご意見をいただきました。ありがとうございます。 英語として読みにくいなら、メソッド名のほうを変えるよ。 モンスター.attackedBy(勇者.attackPower) 誤解を招いてしまったよ...

          • わかりやすさについてとやかく言わないけどさ、攻撃するってことは、モンスターのHPだとかが減るんだよね? 勇者.attack(モンスター) って書いたとしてもさ、勇者.attackメソッドの中で、...

            • 守備力だとか、耐性だとかは、モンスターの属性なので、影響はモンスター側で面倒見てもらいたいから、 攻撃でHPを減らすのは、モンスターのメソッド経由になると思う。 結局、 c...

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん