空想犬猫記

※当日記では、犬も猫も空想も扱っておりません。(旧・エト記)

未だ周回遅れ

継続的に何年もバージョンアップを続ける framework を設計するようになり,ようやくインターフェースと実装を分離することの大切さを身にしみるようになってきた。そのやり方にはいくつかあると思うが,最近になって COM のやり方を見直している。

実際,今触っている既存のライブラリには,インターフェースを継承しているのか,実装を継承しているのか(あるいはその両方か)混同している箇所が多く,その部分だけ,まるで血管が詰まっているかのように,不健康なコードになってしまっている。まだ,私にはそう見える,程度の説明能力しかないのが未熟なところだが,それでも眼力はかなりあるほうだ。そういう病巣を少しずつ直していこうと思う。この手の仕事は上の人には滅多に評価されないし,ましてや動いているコードにバグを混入させるのも御法度なので,当事者が余った時間で,水からの生産性向上のために,自分のテストできる範囲で少しずつ変更していくしかないだろう。非常に地道な作業だが,何故か私はこういうのが好きだ。ちょうど画家がデッサンで何本も線を引いて,理想の曲線を見いだす作業に似ている。

今まで私生活では Mac を使ってきたおかげで,さまざまな言語に触れることができたし,Objective-C から学んだ SmallTalkデザインパターンは,かなり役に立っている。だが逆に,Microsoft の C++ の技術に関しては,MFC 止まりで,本格的にはあまり追ってきていなかった。こんな宝の山があったとはね!

Essential COM (DevelopMentor Series)

Essential COM (DevelopMentor Series)


Effective COM: 50 Ways to Improve Your COM and MTS-based Applications (Addison-Wesley Object Technology Series)

Effective COM: 50 Ways to Improve Your COM and MTS-based Applications (Addison-Wesley Object Technology Series)


ATL Internals: Working with ATL 8 (Addison-Wesley Object Technology Series)

ATL Internals: Working with ATL 8 (Addison-Wesley Object Technology Series)