TDD, 클린 코드 with Java 18기: 실시간 강의 정리(6)

yshjft·2024년 6월 24일
0

패키지 설계

  • 양방향 의존관계는 지양해야한다.
    • 양바향 의존관계가 발생하는 순간 독립적으로 분리 불가능하다.
  • 양방향 의존관계를 해결할 수 있는 방법은 인터페이스와 구현체 의존관계를 연결하는 중간 패키지를 만드는 것이다.
  • 프로젝트 규모가 커지는 경우 양방향 의존관계를 찾는 것이 쉽지 않은데 이는 정적 분석 도구를 이용하면 쉽게 찾을 수 있다.

점진적인 리팩터링 전략

  • 리팩토링 종류
    • 코드에서 리팩토링
    • 언어 변경에 따른 리팩토링
    • 프레임워크 변경에 따른 리팩토링
    • 데이터베이스 리팩토링
  • 모두 다 점진적으로 리팩토링 해야한다.
    • AS-IS와 TO-BE가 공존해야 한다.

도메인 객체 설계 후 테이블 설계

  • 로직이 복잡하면 복잡할 수록 도메인 객체를 먼저 설계할 때 이점이 크다.
    • 기능 변경이 많은 시점 또는 새로운 기능 개발을 시작하는 시점에 유리한 방식이다.
    • 객체 설계 변경에 대한 부담이 지속적인 리팩토링이 가능하다.
    • 요구사항 분석, 도메인 로직 구현, 단위 테스트에 집중할 수 있다.
  • 테이블 스키마를 최대한 늦게 설계해보도록 하자

ORM 프레임워크를 사용하지 않는다면

  • 매핑을 담당하는 객체와 도메인을 담당하는 개체를 분리하여 관리해보자.
profile
꾸준히 나아가자 🐢

0개의 댓글