インタフェース
何でもかんでもメソッドを作ってしまうと、巨大なクラスができてしまう。思いやりのあるインタフェースにはどういう基準でメソッドを加えたらよいのだろうか?
そのクラスの最も一般的な用途を特定し、それが簡単に使えるようにインタフェースを設計する。そしてこれには短い名前をつける。
https://scrapbox.io/files/64066a86581286001b7040b3.png
@manabuueno: インターフェースとは適切な境界とデフォルト値のことだ。そこでは仕事の複雑性をユーザー側からシステム側に引き受けるための設計者のガッツが必要になる。このある種の恣意性は、内部構造の拡張性/変更可能性を高く保つのと同じかそれ以上に、ソフトウェアの重要な「デザイン性」である。