C++

概要

  • 良く実装したくなるセマンティクスに対する、明快なオブジェクト指向的設計
    • 例えばオブザーバパターンであれば、「ゲームの描画機能は、戦闘機の位置変化を監視していたいなー」→「状態変化を監視して変化時に処理」みたいな感じ

目次

参考

http://qiita.com/narumi888/items/e1fad8aa3000f0726601 http://qiita.com/narumi888/items/f656678c78d50c40bc1c http://qiita.com/narumi888/items/b205e59e7fc81695f380 http://qiita.com/narumi888/items/699a51b3df0e8a418f60 http://qiita.com/narumi888/items/312ce1894c24cd3e0d6b

オブザーバパターン

  • 参考, コード
  • 観察対象のクラスの状態が変化した時に、観察者クラスに通知
  • セマンティクスは「状態変化を監視して変化時に処理」,「状態変化を誰かに知らせたい」,「複数のコールバック」
  • Observerパターンは、Publish-Subscribeパターンとも呼ばれる
  • 登場人物まとめ
    • 観察者抽象クラス (Update)、観察者
    • 観察対象抽象クラス (AddObserver?, Notify=全観察者をUpdate)、観察対象
  • 理解のコツ
    • 観察対象変更→観察対象「この変更は観察してほしいぜ」→観察対象「全員俺を見ろー(Notifyで観察者全員に自分を投げつける)」→観察者たち.Update(観察対象)「観察対象が投げつけられてきたから何か処理してやるか」
    • 観察対象Aに対しては観察者A,Bに対してはBが必要,つまりセット.しかし,観察対象Aが,全クラスが共通のクラスSuperだったら…SuperObserver?を作ることで全クラスが観察対象になりうる!
  • 命名
    • 観察対象を"class Hoge", あるいは"class HogePublisher?"
    • 観察者を"HogeObserver?", あるいは"class HogeSubscriber?"

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2017-01-16 (月) 11:14:38 (2659d)