inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

iOS Clean Architecture & MVVM: RxSwift 완전 정복

Usecase 구현하기

유즈케이스 프로토콜과 구현체의 분리 이유

해결된 질문

296

gration77

작성한 질문수 1

0

덤벨로퍼님 안녕하세요! 덕분에 좋은 강의 잘 듣고 있습니다!!

유즈케이스의 경우 프로토콜과 구현체를 분리해서 구현하셨고, 보통 다른 사람들도 분리해서 구현하더라구요.

만약 기능 단위로 유즈케이스를 구현하게 된다면 굳이 프로토콜과 구현체를 분리안해도 될 것 같은데, 둘을 분리하여 얻을 수 있는 이점이 궁금합니다!

의존성 관리 측면에서 이점이 있다고 생각은 되는데 잘 와닿지가 않아서요ㅠㅠ

답변해주시면 감사하겠습니다 :)

ios swift 객체지향 mvvm 클린-아키텍처

답변 2

1

gration77

확인이 너무 늦었네요ㅠㅠ 답변 감사드립니다!!

덕분에 프로젝트에서 Clean Architecture 적용도 잘 했습니다! 실제 코드를 작성하고 답변을 다시 보니 더욱 와닿는 것 같애요! 좋은 강의 감사드립니다~~

0

덤벨로퍼

안녕하세요 !

usecase 프로토콜을 사용하여 추상화된 인터페이스를 구현했고

viewModel이 이를 의존하는 관계를 가지게 함이 목적입니다

 

가장 큰 장점은 말씀하신대로 의존성을 약화시키는 겁니다 usecase 구현체에 의존하는것보다

추상화에 의존하게하여 의존성을 약화시켜 usecase 수정이 일어났을때 viewModel이 비교적

취약하지 않게합니다

 

또 ViewModel 테스트 코드 작성에 용이 해질수있습니다

usecaseProtocol을 준수하는 MockUsecase를 만들수 있기 때문입니다!

 

 

playground 창을 어떻게 찾는지 모르겠습니다

0

7

0

Instant 출력 할때.

0

11

1

values()메서드

0

39

0

자바 킴쌤 클래스 기초part2.pdf파일은 어디서 받을 수 있나요?

0

45

1

오타 제보 드립니다.

0

74

2

8-2. 단항 연산자 중복 : 전위 ++ 연산자 작성 질문

0

69

1

fieldInjectionTest() 질문

0

71

1

AutoAppConfig의 존재이유

0

60

1

AppConfig와 스프링 빈 질문

0

65

1

실습환경(비쥬얼스튜디오)에 대한 질문입니다.

0

89

1

IntelliJ IDEA 체험 만료

0

121

2

예외처리 3강 문의

0

98

1

[영한님]Spring Boot 및 프로젝트 생성

0

136

2

Shape 클래스 실습 코드 피드백 요청드립니다

0

102

2

퀴즈가 안열려요

0

109

2

진로에 대한 질문...!

0

84

1

run() 메서드 안에 지역변수 sum을 사용한 이유

0

120

1

즐겨찾기 탭에서 페이지네이션 422 서버 에러

0

306

2

NetworkManager의 tokenHeader 관련 질문 드립니다!

0

214

1

[클린 아키텍쳐] 로컬 Json 파싱

0

260

1

의존성 주입에 관하여 질문있습니다.

0

289

2

강의 자료는 어디서 받을수 있나요?

0

220

1

안녕하세요 페이지네이션 구현 강의 중 질문있습니다.

0

274

2

강의 질문있습니다.

0

219

1