🌎

SOLIDについて書き記していくだけ#4

2024/05/04に公開

Interface separation principle : インターフェース分離の原則

User1のソースは意図せずに使っていないops2, ops3にも「依存」してしまっている
ここでいう「依存」はops2, ops3に変更を行なった時にUser1の再コンパイルと再デプロイが必要になるという意味である。

User1が使ってないのに再コンパイルと再デプロイするのめんどくさい、、、
→ インターフェースをそれぞれ分ければ解決する(インターフェースの分離)

各操作をインターフェースに分離してしまえば良い
User1はU1Opsとops1にのみ依存している

コンパイルとかデプロイは言語によるんじゃ、、、??

目的

上述しているようなコンパイルやデプロイの問題もあるが、もう一つは
いらないメソッドが存在している状態になっていることである

インターフェースを分離させることで、クライアントが必要としているメソッドにのみ依存させることができる

(#3からコード例を書くのがめんどくさくなったからとかではないです、コード無くてもわかるかなって思っただけなんです。許してください。)

Discussion