C++のためのAPIデザイン 3.1〜3.3
- 作者: マーティン・レディ,Martin Reddy,三宅陽一郎,ホジソンますみ
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2012/11/02
- メディア: 大型本
- 購入: 4人 クリック: 106回
- この商品を含むブログ (8件) を見る
第3章 パターン
以下のテクニックの解説。
- Pimplイディオム
- シングルトンとファクトリメソッド
- プロキシ、アダプター、ファサード
- オブザーバー
3.1 Pimplイディオム
Pimplはpointer to implementationの略。
privateな情報をヘッダに見せないように、実装を別クラスに隠す。
Effective C++ 原著第3版 (ADDISON-WESLEY PROFESSIONAL COMPUTING SERIES) にも同じような話があったはず。
3.2 シングルトン
一般的なシングルトンの話がほとんど。
Singletonをスレッドセーフにするのは大変。
外からインスタンスを渡す、依存性の注入という方法もある。
staticなデータへアクセスするインスタンスを、複数作れるようにするMonostateパターンという方法もある。
Singletonは1つしかインスタンスを作成させないことで単一構造を強制し、Monostateはすべてのインスタンスで同じデータを共有することで単一動作を強制する。
Singletonパターンが真価を発揮するのは、インスタンスを1つにするというより、インスタンスの数の上限を決めたいときだと思っていたのだが、そこは書いてないな。
3.3 ファクトリメソッド
普通のファクトリメソッドの説明のみ。
p.107の一番下にtypo発見
CallbackMap::iterator it = mRenderers.find(type);
if (it = mRenderers.end())
...
ifの中で「=」。 p.14にも同じ間違いがある。「!」を印刷できていないのか??
CodeIQのトグル問題、やっぱり最高点じゃなかった。
グレイコードってどこかで見たなと思ったら↓に書いてあるし。最後の方まで読めばよかった。
ハッカーのたのしみ―本物のプログラマはいかにして問題を解くか
- 作者: ジュニア,ヘンリー・S.ウォーレン,Jr.,Henry S. Warren,滝沢徹,玉井浩,鈴木貢,赤池英夫,葛毅,藤波順久
- 出版社/メーカー: エスアイビーアクセス
- 発売日: 2004/09
- メディア: 単行本
- 購入: 35人 クリック: 732回
- この商品を含むブログ (126件) を見る