tell-me-team / Back-End

0 stars 0 forks source link

의존성 역전을 활용한 아키텍처 개선 및 리팩토링 #57

Open Jsim6342 opened 1 year ago

Jsim6342 commented 1 year ago

Description


기존에 작성한 중형 테스트 코드를 활용하여 진행. 의존성 역전을 활용하여 아키텍처 개선 및 리팩토링

Todo


ETC


개발 공지사항

개발 진행 프로세스

  1. 레포지토리 의존성 역전 구현
    • 레포지토리 호출부를 인터페이스로 분리하고, JPA 등 구현체 할당
    • Fake 테스트 레포지토리로 테스트 구현
  2. 도메인과 엔티티 분리. 도메인에 행동을 정의
    • 도메인 객체와 엔티티 객체를 구분 → 엔티티는 JPA input, output 용도로만 활용하고, service 단에서는 도메인 객체 활용
    • 단순히 상태 변경하는 행동 ex) from, to, update, login 등
    • 도메인에게 할당된 행동 및 역할 부여
  3. 외부 객체 의존성 역전 구현
    • 외부 객체 호출부를 인터페이스로 감싸서 호출
    • 외부 라이브러리에서 필요한 메소드만 따로 프로젝트에 알맞게 인터페이스 정의하고, 외부 라이브러리 구현체를 활용하여 구현(구현체 의존성을 인터페이스를 구현하는 하나의 클래스에 몰아둔다)
  4. 서비스, 도메인 위주로 테스트 코드 작성
    • Faker 객체, Mock 객체, Stub 객체 최대한 활용