주니어 개발자가 SOLID 원칙으로 클린 아키텍처를 경험한 이야기
by DD
4년 전
조회수 4
신입 개발자가 SOLID 원칙을 적용하여 코드 설계를 개선한 경험 공유
SRP, OCP, DIP 위반 사례를 통해 유지보수 어려움을 설명
Logger 인터페이스 도입으로 확장성과 재사용성을 확보
SOLID 원칙 적용 전 문제점
초기 코드에서 단일 책임 원칙(SRP), 개방-폐쇄 원칙(OCP), 의존성 역전 원칙(DIP)을 위반하여 유지보수에 어려움을 겪었다. 구체적으로, ExecutionTimeSystemLogger 클래스는 시간 측정과 출력을 모두 담당하여 변경에 취약했다. 따라서, 요구사항 변경 시 코드 수정 빈도가 높았다.
Logger 인터페이스 도입의 효과
Logger 인터페이스를 도입하여 유연한 설계를 구현했다. SystemLogger와 FileSystemLogger를 통해 출력 방식을 쉽게 변경할 수 있게 되었다. 반면, 인터페이스 추가로 인해 초기 설계 시간이 늘어날 수 있지만, 코드 재사용성과 확장성을 고려하면 충분히 가치 있는 선택이다.
클린 아키텍처 적용 가이드
클린 아키텍처는 유지보수성과 확장성을 높이는 데 기여한다. 따라서, SOLID 원칙을 이해하고 적용하는 것이 중요하다. 구체적으로, 변경될 가능성이 높은 부분은 인터페이스로 추상화하고, 단일 책임 원칙을 준수하여 각 클래스의 역할을 명확히 해야 한다.