
아키텍처
테이블링 오피스의 Layered Architecture
두줄요약
테이블링 오피스의 Layered Architecture 설계와 UseCase 레이어 도입 배경을 소개했습니다. 책임 분리와 재사용성 향상 효과와 함께 싱크홀 안티패턴 같은 주의점도 정리했습니다.
핵심 내용
- 테이블링 오피스의 백엔드에서 Layered Architecture를 정리하고, 3계층 구조에서 UseCase 레이어를 추가한 설계 변화를 소개
- 관심사 분리, 단일 책임 원칙, 재사용성, 유지보수성 향상을 계층화 구조의 핵심 장점으로 설명
- 싱크홀 안티패턴, 계층 추가에 따른 공수 증가, 기존 Service 로직 이관 부담 같은 도입 시 고려점도 함께 정리
- Controller는 요청/응답, Service는 DTO 변환과 가공, UseCase는 비즈니스 로직과 원본 데이터 반환, Repository는 저장소 접근을 담당하는 구조로 설명
적용해볼 점
- Service와 비즈니스 로직을 분리해 책임 경계 명확화
- 재사용이 필요한 로직은 UseCase로 모아 테스트와 확장성 확보
- 계층 추가 시 불필요한 흐름과 작업 공수 증가를 함께 검토
