
126
AI 요약
이 글은 AI가 원문을 분석하여 핵심 내용을 요약한 것입니다.
책임을 부여하는 오직 하나의 책임
이 게시물은 코드 품질 개선을 위해 단일 책임 원칙(Single Responsibility Principle)을 적용하는 과정을 설명합니다.초기 설계
- LaunchButtonBinder 클래스는 버튼 클릭 시 실행할 로직과 어떤 Launcher가 실행될지 결정하는 두 가지 책임을 가짐
책임 분리 시도
- Launcher 선택 기능을 LaunchBinderSelector 클래스로 분리
- 각 Launcher별로 LaunchButtonBinder가 생성되어 버튼에 여러 이벤트 리스너가 등록됨
새로운 문제점 및 고려사항
- 사양 제약 조건이 여러 클래스에 분산되어 관리 어려움 발생
- 상태 중복과 세부 사항 은닉 문제
- 의존성 관리가 복잡해져 호출자가 비대해지거나 코드 이해가 어려워짐
- 따라서 책임 분리 시 호출자 책임과 의존성 복잡도 증가를 주의해야 함