[Shoot-Pointer] Refactoring01.설계의 원칙 - 스파게티 코드를 해결할 3가지 레시피
프로젝트/Shoot-Pointer·2026. 1. 1.
"소프트웨어 아키텍처의 목표는 필요한 시스템을 만들고 유지보수하는 데 투입되는 인적 자원을 최소화하는 것이다." - 로버트 C. 마틴 (Robert C. Martin) -현재 ShootPointer의 게시물 도메인의 전체적인 계층 구조입니다. 누가봐도 “더럽고” 과도한 인터페이스 남용+ 무지성 컨트롤러/서비스 구현체가 남발하는 상태입니다.처음 아키텍처를 설계할 때, 교과서적인 레이어드 아키텍처로 프로젝트를 시작하게 되었습니다. 하지만 비즈니스 로직을 작성하는 과정에서 복잡한 메서드들을 단순히 감추기 위해 private 메서드로 내부에 감추려고 했습니다. 문제는 여기서 발생했습니다. JUnit5 기반으로 테스트 코드를 작성하려니 private 메서드는 테스트할 수 없었던 것입니다.물론, 리플렉션이나 일시적..