목록Solid (4)
[꼼꼼한 개발자] 꼼코더
🙋🏻♂️ 문제 ✅ 정답 💡 느낀 점 좀 더 내용이 많아서 블로그 글에 많이 적었던 내용인데 이렇게 SOLID개념을 다 마무리 지었으니 후련하지만 잊어버리지 말고 SOLID 원칙을 지키며 개발하려는 자세를 가지도록 해야겠다.
🙋🏻♂️ 문제 ✅ 정답 💡 느낀 점 인터페이스를 잘 분리해야 내가 원하는 메서드들만 선택하여 상속도 하고 원하는 기능만 사용하는 '필요한 종속성'에 포커스가 맞춰지는 거 같다!
🧹 간단 요약 DIP란 구체화의 의존하지 말고 추상화의 의존하는 것. 쉽게 말해 "구현 클래스에 의존하지 말고, 인터페이스에 의존하라는 뜻" (자세한 내용은 아래에) 🤷🏻 DIP란?(Dependency inversion principle) DIP는 상위 수준의 모듈은 하위 수준의 모듈에 의존해서는 안 되며 양쪽 모듈 모두 추상화에 의존해야 한다는 원칙이다. 즉, 의존성은 추상화에 의존해야 하며, 세부 구현에 의존해서는 안 된다는 것을 의미한다. 쉽게 말 해 "구현 클래스에 의존하지 말고, 인터페이스에 의존하라는 뜻" 🙋🏻♂️ DIP에 의거한 인터페이스 의존 방법 상위 수준 모듈은 하위 수준 모듈에 의존해서는 안 된다. 두 모듈은 모두 추상화에 의존해야 한다. 추상화는 세부 구현에 의존해서는 안 된다. ..
🧹 간단 요약 ISP란 인터페이스를 작은 단위로 분리하는 것이다. 즉 인터페이스를 계속 잘게 '잘' 나누어 분리하는 것이다. '특정 클라이언트를 위한 인터페이스 여러 개가 범용 인터페이스 하나보다 낫다' -인프런 김영한 님 강의 속 내용- (자세한 내용은 아래에) 🤷🏻 ISP란?(Interface segregation principle) ISP는 클라이언트가 필요로 하는 인터페이스를 작은 단위로 분리하고 클라이언트가 필요로 하지 않는 기능에 대한 의존성을 제거하는 것을 강조한다. 🙋🏻♂️ ISP에 의거한 인터페이스 분리방법 클라이언트가 사용하는 기능에만 포함된 작은 인터페이스를 정의해야 한다 인터페이스는 클라이언트에게 필요한 최소한의 기능만 제공해야 한다. 클라이언트는 자신이 사용하지 않는 기능에 대한..