P38 Mix-in(ミキシン)
ミキシンは以前、別の本で聞いたことのある概念だったが、この本でもっと詳しく
説明されている。
どうも、多重継承の使用方法のルール(制限)のようで、多重継承で問題になる
菱形継承(?)の問題を少しでも軽減するもののようだ。
C++ではプログラマがミキシンを意識して使わなければならないようだ。Rubyで
は言語がサポートしているらしい。
これは、継承のタイプ、インターフェース(仕様)継承と実装継承にも関係している
ようだ。ミキシンは実装継承のようだ。
ちょっと困惑気味だが、以前は継承を再利用のために使うことを進めている本が
あり、ここ最近は、実は継承にこの再利用のための継承(実装継承)はしてはならない
ようなことを聞くようになった。それはIs a関係にない場合の継承は後々問題になる
からやめるように聞いた。
しかし、この本のミキシンについてはどうも多重継承でその実装継承を使うことをすす
めていて、ミキシンとしての継承は複数あっても、本当のIsa関係(?)の継承は1つのみにするような
ことを書いているようだ。
ただ、まだ、いまいちはっきり理解できていないようだ。
P64 文脈依存の実現
この部分はかなり興味深い内容だった。
文脈(コンテキスト)という概念はゲームプログラムをしていてかなり重要な概念だと認識して
いたからだ。ある関数について、ある部分では有効だが、別の部分では決して実行してはなら
ないということがあるからだ。
C++などで組んでいるとどうしてもグローバルな関数などはどこからも使えてしまうということが
あるが、ある範囲は有効である範囲では使えないというようなことを管理するべきだと感じつつ
あった。
P65 語彙の実現
すべてのアプリケーションを作る過程は結局言語をデザインすることである」だそうだ。
アプリケーションを作ることは、そのアプリケーションの問題領域の語彙をどんどん定義していき、最後にその語彙を使って問題解決手段を記述することにほかなりません。
P66 DSL(DommainSpecificLanguage)
コードジェネレータ:STL、マクロ、C++コードを生成するアプリケーション
インタプリタ:スクリプト、XMLはJava界のDSLである。










