Springオブジェクト指向の原則
OCP
Open-Closed Principle
ソフトウェアオブジェクト(クラス、モジュール、関数など)は、拡張を開き、変更を閉じる必要があります.
インプリメンテーション・オブジェクトを変更する場合は、クライアント・コード(インタフェース・セクション)を変更しないでください.
DIP
Dependency Inversion Principle
抽象に頼るには,具体化に頼るわけにはいかない.
クライアントは実装クラスに依存するのではなく、インタフェースに依存するように設計する必要があります.
MemberServiceImplファイル
private final MemberRepository memberRepository = new MemoryMemberRepository();
MemoryMemberRepository()というインプリメンテーションに依存する.(DIP違反)
したがって、このインプリメンテーションを別のインプリメンテーションに置き換える場合は、クライアントファイル「MemberServiceImplファイル」を変更する必要があります.(OCP違反)
解決策
追加
Reference
この問題について(Springオブジェクト指向の原則), 我々は、より多くの情報をここで見つけました https://velog.io/@yule_gpark/Spring-객체지향-원칙テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol