inflearn logo
강의

Course

Instructor

[iOS] Swift Modern Collection View & MVVM Pattern Guide

Implementation of each Network

강의 <각각의 network 구현>에서 질문있습니다.

Resolved

444

hsseor

2 asked

1

네트워크를 Init함수를 통해 주입하여 사용하는 이유가 궁금합니다..!

그리고 강의 전반에 걸쳐 init함수를 계속 사용하는데 이유가 궁금합니다!!

ios mvvm rxswift

Answer 2

1

dumveloper

AI가 잘 답변 해주었네요 ㅎㅎ
추가적으로 예시에는 나오지 않았지만
테스트코드를 짤 경우 실제네트워크를 호출 하지 않기 때문에 Fake 네트워크를 사용하게 될겁니다.
그럴 경우 Init을 통해 외부에서 FakeNetwork를 생성후 넣어주어서 테스팅이 가능해집니다.


또한 만약
TVNetwork에서 Network<TVListModel> 를 init()으로 주입 받고 있는데
Network<TVListModel> 에서 만약 TVListModel 뿐만 아니라 타입이 여러개 생겼을 경우에 대응하고싶다면

 

struct TVListModel: ContentListModel {}

struct YoutubeListModel: ContentListModel {}

init에 추상화 객체를 넣어줄수 있습니다.

init(network: Network<ContentListModel>) {}

그리고 사용할떄는 구체화된 객체를 생성해서 사용가능합니다

Network<TVListModel>()

Network<YoutubeListModel>()

0

hsseor

답변 감사합니다!

1

communityai8509

안녕하세요, 인프런 AI 인턴이에요. 강의 &lt;각각의 network 구현&gt;에서 네트워크를 Init함수를 통해 주입하여 사용하는 이유에 대해 궁금하시군요. 그리고 전반적으로 init함수를 계속 사용하는 이유도 궁금하신 것 같네요.

네트워크를 Init함수를 통해 주입하여 사용하는 이유는 다양한 이유가 있을 수 있습니다. 먼저, 네트워크를 Init함수를 통해 주입하는 것은 의존성 주입(Dependency Injection)이라는 디자인 패턴의 일부입니다. 이를 통해 코드의 유지보수성과 재사용성을 높일 수 있습니다. Init함수를 사용하여 네트워크를 주입하면, 네트워크의 객체를 외부에서 생성하고 관리할 수 있습니다. 이렇게 하면 코드의 결합도를 낮출 수 있고, 코드를 테스트하기도 더 용이해집니다.

또한, init함수를 전반적으로 사용하는 이유는 해당 강의에서 네트워크를 사용하는 여러 곳에서 동일한 네트워크 객체를 사용하기 위함일 수 있습니다. 이렇게 하면 중복적인 코드를 줄일 수 있으며, 네트워크 객체의 상태를 일관되게 유지할 수 있습니다.

하지만 정확한 이유에 대해서는 강의 내용을 직접 확인해보셔야 할 것 같습니다. 그리고 네트워크를 Init함수를 통해 주입하는 이유와 전반적인 이유에 대해서는 강의의 내용과 강사의 설명을 자세히 들어보셔야 정확한 이해가 가능할 것 같아요. 강의의 Q&A나 커뮤니티에서 질문해보시는 것도 좋은 방법일 것 같습니다. 어떤 강의인지 명시해주시면 더 자세하게 답변해드릴 수 있을 것 같아요. 감사합니다.~요.

수강 기간 연장 문의

0

28

1

수강연장부탁드려도될까요..

0

42

2

Combine Playground 에서 실행 시

0

57

2

70강 - 글로벌 액터로 격리된 Protocol 을 extension 에서 conform 시 타입 본체의 격리 수준 질문

0

42

1

searchable이 화면 하단에 위치해요

0

62

2

현재강의 완성된코드가있을까요?

0

61

1

Drawing Cycle 관련 질문

0

72

1

앱 제작 시 주로 코드로 작성하시는 이유가 있을까요?

0

95

2

델리게이트 패턴 관련 질문

0

66

2

ios 애드몹 광고

0

134

2

다음 강의 내용 관련 문의드립니다.

0

193

1

bind, signal, drive 사용

0

118

1

강의 시작 전 문의드립니다.

0

187

2

"섹션에 맞는 다양한 레이아웃 구현" 강의 질문있습니다.

0

166

2

마지막 강의 "리스트 검색 기능 구현"이 다른 강의 영상으로 업로드 된 것 같아요

0

232

1

섹션1 3번 레이아웃 deprecated 경고

0

321

2

MVVM 패턴 구현에서 rx binding관련 질문입니다.

0

317

1

단축키 질문

0

296

2

NSCollectionLayoutSize 질문

0

386

2

섹션 3. Modern collection view 심화-snapshot 구현 -

0

386

2

Swift Modern Collection View에서 click event 처리에 관하여 고민이 됩니다

0

425

1

강의 <diffableDatasource구현- Item 타입에 맞는 셀 리턴하기> 에서 질문 있습니다.

0

270

1

RxAlamofire 추가가 안됩니다.

1

753

3

모든 강의 수강 후 종합적으로 궁금한 내용에 대해 질문드립니다.

1

544

2