들어가기 전에
가장 흔하게 사용되는 Common 패키지에 대해 말하자면, 결국 핵심은 구조화 및 가독성 향상이다.
프로젝트를 진행하다 보면 프로젝트 내 여러 모듈이나 레이어에서 공통으로 쓰이는 코드가 생기기 마련이다. 코드 재사용성을 극대화하고 중복 코드를 방지하기 위해, 나아가 유지보수 측면에서 편리하기 위해 우리는 공통 코드들을 따로 빼게 된다. 이러한 코드들의 모음집이 Common 패키지인 셈이다.
※ 사실 패키지 구조라는 게 명확한 답이 있는 건 아니다 보니 가벼운 마음으로 읽었으면 한다.
Common vs Global
Common으로 퉁쳐서 사용하는 경우가 많은데 사실 Common 패키지와 Global 패키지는 서로 의미가 다르다.
- Common: 공통으로 사용되는 모든 코드를 모아두는 패키지
- Global: 애플리케이션 동작의 전역적인 부분을 모아두는 패키지
여기서 공통적으로 사용되는 모든 코드라고 함은 공통 유틸 클래스, 공통 DTO, 공통 상수 따위를 말하며, 애플리케이션 동작의 전역적인 부분이라 함은 Cross-Cutting Concerns를 모으기 위해 예외 처리, 로깅, 보안 필터, AOP 같은 기능들을 따로 모아두는 걸 말한다. (@Configuration, @ControllerAdvice)
전역 설정 클래스들이나 전역 예외 핸들러 같은 것들은 Global 패키지를 만들어 따로 관리하는 것을 추천한다. 애매하다면 '전역 동작 기능'은 Global이라고 생각하자.
'성장 과정 > 인사이트' 카테고리의 다른 글
.prettierrc (0) | 2025.06.04 |
---|---|
Database driver: undefined/unknown (0) | 2025.05.24 |
Docker Compose에서 MySQL 데이터 영속성 설정하기 (1) | 2025.05.23 |
Spring Boot에서 JPA로 Docker MySQL 연동하기 (2) | 2025.05.22 |
RESTful API에서 '응답 설계'가 반이라고? (0) | 2025.04.13 |