C++でのお話です。
クラス設計をしていると、どこまで他クラスにインターフェースを公開するか迷います。のちのちの入り組んだスパゲッティコード化を恐れるのであれば、最小限の公開がいいのでしょうけど、それは他クラスから出来ることが少なくなると言うことだし。
かといって、いろいろなことが出来るようにすると、他クラスにもそれらについて知っていてもらわないといけなくなる。
例えば、描画インターフェースクラスを設計するとして、
初期化、矩形描画、位の簡易版と、
特殊効果、描画先切り替え、等機能をいろいろ盛り込んだ詳細?版と
どっちが良いのか、って決める方法は無いですよね・・・
考えていてもコードはかけないので、思うまま書くのですが・・・
それが失敗の原因?