콘텐츠로 이동

2021 05 10

2021-05-10

알아야 할 키워드

  • DB Table 1:n 문제 - n+1 탐색?
  • jdbcTemplate은 Bean인가?
  • 패키지 구조 고민 - 기능별 패키지 vs 레이어 별 패키지
  • @RequestBody, @ResponseBody는 리플렉션을 쓰는가?
  • Spring에서 어찌 MVC 반환하는지 내부동작도 좀 생각해보자

패키지 구조 고민

  • 참고 1: https://www.slipp.net/questions/36
  • 참고 2: https://pasudo123.tistory.com/115
  • Package By Feature - 장점 - 도메인 모델 위지 개발에 적합 - 단일 기능과 관련된 특징들 혹은 단일 기능 자체만을 배치 - 높은 응집도와 높은 모듈성 갖게됨 - 패키지간 결합도 최소화 - 각 패키지 간의 순환 의존이 발생할 가능성 적어짐 - 중복된 부분 제거에 용이 - 자바 코드, DB 항목 등 특정 기능과 관련된 모든 항목 총 집합 - 단점 - 모듈 단위로 분리할 때 어려움
  • Package By Layer - 장점 - 개발자 별로 기능 단위 개발 하는 경우 사용 - 모듈 단위로 분리에 용이 - 단점 - 딱히 관련 없는 항목들이 포함됨 - 패키지간 결합도가 높아서 패키지에 수정 가했을 때 해당 패키지 참조하는 다른 패키지 내부 파일도 수정 필요 - 각 패키지간의 순환 참조 발생할 가능성 높음 - 각 모듈에 중복된 코드 발생할 확률 높음 - 도메인 간의 관계보다 각 모듈별로 각자 구현할 가능성이 높음