DIP2 의존관계 분리 경험 공유(1) 의존관계 분리 경험 공유(2) 안녕하세요. 땡쿠팀의 백엔드 개발자 후니입니다. 이번 포스팅에서는 땡쿠팀에서 겪은 패키지간 강한 의존을 막기위한 경험을 소개하고자 합니다. 땡쿠팀은 우아한 테크 코스 내에서 사용되는 쿠폰을 예약하고 사용하는 서비스를 제공하는데요. 따라서 예약이나, 만남 일정이 수락, 생성됨에 따라 도메인간 경계를 넘어 상태를 변화하거나 객체를 생성하는 코드들이 필요합니다. 비즈니스 요구사항에 맞게 개발하다보니 자연스럽게 의존성의 흐름이나 도메인 간 결합도를 느슨하게 하는 데 집중하게 됐습니다. 덕분에 여러가지 고민과 시도를 해보았는데요. 지금부터 패키지간 강한 의존을 끊어내기 위한 땡쿠팀의 고민과 경험을 단계적으로 설명해보겠습니다. 1단계. Domain이 올바른 역할을 하고 있는가? 땡쿠팀.. 2022. 8. 10. [Java] 의존성 역전 원칙 의존성 역전 원칙에 대해 들어본적 있으신가요? 흔히들 객체지향의 핵심 원칙으로 SOLID를 알고 계실텐데요, 의존성 역전 원칙은 DIP로 객체지향 핵심 원칙의 다섯번째 원칙입니다. 오늘 포스팅에서는 의존성 역전 원칙의 개념에 대해 학습하고 직접 코드를 작성하며 왜 이 원칙을 지켜야 하는가에 대해 몸소 느껴보고자 합니다. DIP DIP는 고수준 모듈을 참조하여 예상치 못한 의존성의 변화를 줄이고자 생겨난 원칙입니다. 여기서 고수준 모듈과 저수준 모듈에 대한 궁금증이 들텐데요. 과연 이 둘은 무슨 의미일까요? 고수준 모듈 상위 수준의 정책으로 하나의 큰 기능이라고 볼 수 있습니다. 간단하게 자바의 Interface를 생각하면 됩니다. 저수준 모듈 고수준 모듈의 기능을 구현하기 위해 필요한 상세 기능. 즉, .. 2022. 3. 7. 이전 1 다음