코드 품질 개선 기법 14편: 책임을 부여하는 오직 하나의 책임
126
AI 요약

이 글은 AI가 원문을 분석하여 핵심 내용을 요약한 것입니다.

책임을 부여하는 오직 하나의 책임

이 게시물은 코드 품질 개선을 위해 단일 책임 원칙(Single Responsibility Principle)을 적용하는 과정을 설명합니다.

초기 설계

  • LaunchButtonBinder 클래스는 버튼 클릭 시 실행할 로직과 어떤 Launcher가 실행될지 결정하는 두 가지 책임을 가짐

책임 분리 시도

  • Launcher 선택 기능을 LaunchBinderSelector 클래스로 분리
  • 각 Launcher별로 LaunchButtonBinder가 생성되어 버튼에 여러 이벤트 리스너가 등록됨

새로운 문제점 및 고려사항

  • 사양 제약 조건이 여러 클래스에 분산되어 관리 어려움 발생
  • 상태 중복과 세부 사항 은닉 문제
  • 의존성 관리가 복잡해져 호출자가 비대해지거나 코드 이해가 어려워짐
  • 따라서 책임 분리 시 호출자 책임과 의존성 복잡도 증가를 주의해야 함

연관 게시글