의존성 주입
-
[iOS-2] Dependency Container로 의존성 관리하기Project/TalkTalk 2025. 3. 31. 23:01
의존성 주입이란?의존성 주입(Dependency Injection)은 한 객체가 다른 객체에 의존할 때, 외부에서 해당 의존성을 제공하는 디자인 패턴이며 다음과 같은 이점을 가질 수 있습니다. 결합도 감소: 객체가 자신의 의존성을 직접 생성하지 않아 결합도가 낮아집니다.테스트 용이성: 실제 구현체 대신 테스트용 모의 객체를 주입할 수 있습니다.유연성: 런타임에 의존성을 변경할 수 있어 유연한 설계가 가능합니다.코드 재사용성: 의존성이 분리되어 컴포넌트의 재사용이 용이해집니다.예를 들어 네트워크 통신이 필요한 뷰모델이 있다고 할 때, 이 뷰모델은 네트워크 작업을 하는 객체를 내부에서 직접 생성하지 않고 뷰모델 객체가 생성되는 시점에 외부에서 주입받습니다. 좀더 자세히 설명해 보면 NetworkServic..
-
클린 아키텍처 쉽게 이해하기 with SwiftUI 🔍Apple🍎/SwiftUI 2024. 10. 29. 23:06
클린 아키텍처가 뭔가요?앱을 만들 때 코드를 역할별로 깔끔하게 나누는 방법이에요. 마치 서랍장에 물건을 종류별로 정리하는 것처럼, 코드도 하는 일에 따라 구분해서 관리하는 거죠.클린 아키텍처의 계층 구조 이해하기 📚계층이란? 🤔앱의 코드를 역할별로 나눈 각각의 층을 말해요. 각 계층은 자기만의 역할이 있고, 다른 계층과 약속된 방식으로만 소통해요. Domain Layer (핵심 계층) 💡앱의 가장 기본이 되는 부분이에요. 마치 집을 지을 때 기초 공사가 중요한 것처럼, Domain Layer는 앱의 핵심적인 데이터 모델과 이를 다루는 규칙들을 담고 있답니다.Entity: 실제 세상의 물건이나 개념을 앱 속에서 어떻게 표현할지 정하는 설계도예요.예를 들어 쇼핑앱을 만든다고 생각해볼까요?실제 상품을 앱..