코드 품질 개선 - 세션 49: 실체와 환상 사이의 의존성
·2025.10.17 11:00
로직 공유를 위해 객체 인스턴스를 공유할 때 발생하는 문제를 분석하고, 타입과 객체 의존성을 구분하여 설계하는 방법을 제시한다.
FooLayout과 BarLayout에서 공통으로 사용하는 BazUiComponent의 로직을 재사용하기 위해, 하나의 인스턴스를 두 레이아웃이 공유하는 구조를 가정해 보자.
이러한 방식은 다음과 같은 설계 문제를 야기한다:
- 레이아웃과 컴포넌트 간의 순환 의존성 발생
- BazUiComponent 내부에서 UI 요소 인스턴스를 생성하기 어려움
- 레이아웃의 세부 사항인 컴포넌트를 상위 클래스인 Screen이 알아야 하는 문제
이 문제의 근본 원인은 타입(Type)에 대한 의존성과 객체(Object)에 대한 의존성을 혼동하는 데 있다.
로직만 공유하면 되는 경우, 타입은 공유하되 각 레이아웃은 자신만의 독립적인 BazUiComponent 인스턴스를 가져야 한다. 이를 통해 상태를 분리하고 의존성 구조를 단순화하여 코드 품질을 높일 수 있다.
이 요약은 원문 이해를 돕기 위한 큐레이션입니다. 저작권은 원저작자에게 있으며, 정확한 내용과 맥락은 원문을 확인하세요.
요약 오류, 출처 표기 문제, 삭제 요청은 문의 · 건의로 알려주세요.