クラスインターフェースが完全かつ最小限になるまでがんばろう 18項
完全なインターフェース
完全なインターフェースとはクライアントが普通やりたいと思うようなことは、何でもできるようなインターフェースである。つまり、まともなクライアントが行いたいと考えるような仕事であれば、どれをとっても、それを達成するためのまともな方法が用意されているということだ。
最小限のインタフェース
関数の数が可能な限り切り詰められていて、関数同士で機能がオーバーラップしていないインターフェースのことである。
大きなインターフェースの欠点
- 同じような機能へのとまどい
- 保守の難しさ
面白い領域に入ってきました。言語依存が少ないところなので、これは楽しい。
僕の場合のインターフェース設計は
- クライアントコードを書いてみて必要なインターフェースを探る
- まずべたっとコードを書いてみて、必要な機能・インターフェース候補になりそうなものを見つける
ののどちらかを採用することが多いです。
Effective C++ 【改訂第2版】 アスキーアジソンウェスレイシリーズ―Ascii Addison Wesley programming seriesを1日1項読んでいます。