何故あなたはインターフェースをうまく使えないのか
何故あなたはインターフェースをうまく使えないのか
プロダクトには以下の二種類が存在する
アプリケーション
ライブラリ・フレームワーク
インターフェースはライブラリのためのもの
面白い
ハッシュ化したパスワードの入力をインターフェースを使って検証させる例
インターフェースの代わりにUnion型を使って複数のクラスに対応させる例の反証 「○○メソッドがあればよい」というよりは「~○○メソッドがなければいけない」という制約
もしインターフェース側で適切にメソッドを定義していれば、内部でそのメソッドが使われることを意図を明確にできる
Solvableというsolve()メソッドが呼び出せる性質をインターフェースで表現する これを引数に設定しているメソッドを含むコンポーネントは抽象に依存するようになる。