1クラス1インターフェースは望ましい書き方でしょうか?
それとも、インターフェースは複数のクラスに使うものとして設計するのでしょうか?
よくあるDIコンテナの一例ですが、
コンストラクタの引数でクラスをプロパティに保存して、
そいつを操作するクラス(コントローラークラス)があるとします。
インターフェースとは、そのコントローラークラスに格納されたDIコンテナの違いを意識せずに全く同じようにメソッドを叩いて使える事を保証してくれるものです。
なので1インターフェースに対して、n個のクラスがぶら下がっている事が基本です。
今は1:1だけど、今後増える可能性が高いと思ったものは先受けで用意しておくケースもありますし、
パブリックなメソッドが存在する事を保証するものなので、ドキュメント代わりとして厳格に書く為に1:1でも気にせずどんどん用意していくケースもあるでしょう。
2016/07/09 08:22