Swift 의존성 아키텍처

의존성 주입(Constructor Injection)과 싱글톤 패턴의 차이점 및 상태 동기화 시각화

데이터 소스

HealthCenter

인스턴스 전달됨

HR: 145
의존성 주입

RunningCenter

생성자 주입됨

아키텍처 동작 상태

패턴: 생성자를 통해 동일한 HealthCenter 인스턴스가 두 클래스 모두에 주입됨

HR: 145
최종 소비자

RunViewModel

생성자 주입됨

RunningCenter 수신 심박수 145
시스템 동기화 상태 정상 동기화
생성자 주입 방식(Constructor DI)과 글로벌 static .shared 싱글톤 방식 비교
정상적인 단일 공유 참조 상태와 인스턴스 재생성으로 인한 오류를 토글합니다.
HealthCenter 소스의 센서 데이터 값을 변경하여 연결 상태를 확인합니다.
145