###前提・実現したいこと
いつもお世話になっております。
C#の設計周りについて教えてください。
最近設計の本を読み、SOLIDの原則等を知りました。
・依存関係逆転の原則
・インターフェース分離の法則
等を踏まえた結果、全てのclassに対して予めインターフェースを作っておけば
良いのでは無いか?という疑問を持ち始めました。
以下に具体例を書きます。
###具体例
C#
1public class Hoge : { 2 public void huga() { /**/} 3}
というclassを作ろうとした際、予め
C#
1public interface Huga 2{ 3 void huga(); 4} 5 6public class Hoge : Huga{ 7 public void huga() { /**/} 8}
のように全classに対してinterfaceを用意する
###考え
classの関数を呼ぶ場合はinterfaceを介して呼ぶことにより
処理を実装ではなく抽象に依存させることになってより再利用性の高いコードに
なるのでは?と思いました。
さらにもし「全classにinterfaceを用意する」というルールに問題が無いようでしたら
classを実装するたびに「このclassはinterfaceを用意したほうが良いのかな?要らないのかな?」
と迷わなくてすみ、考えることが一つ減って楽だなと思いました。
ダラダラと書きましたが、どのサイトを見ても設計の際 「設計が煩雑になるためinterfaceの乱用は避けよ」
的な注意書きが有るため私のアイディアが間違っているのだとは思うのですが
いまいちなぜこの考えがまずいのかが腑に落ちません。
非常に稚拙な質問で申し訳ありませんが、interfaceについての指針のような物を
いただけると非常に助かります。
宜しくお願い致します。

回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。