inflearn logo
강의

Course

Instructor

iOS Clean Architecture & MVVM: Complete Mastery of RxSwift

Implementing Usecase

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

Resolved

227

gration77

1 asked

0

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

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

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

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

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

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

Answer 2

1

gration77

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

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

0

dumveloper

안녕하세요 !

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

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

 

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

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

취약하지 않게합니다

 

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

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

 

 

Singleton 관련 질문입니다.

1

12

2

코드 자료

0

15

2

질문있습니다

0

25

1

1번 문제 질문입니다.

0

31

1

음악플레이어 문제 중 코드질문

0

26

1

문제와 풀이4 문제점

0

40

2

문제와 풀이

0

23

1

문제풀이 시간마다 방향성

0

38

2

수강 기간 연장 문의

0

26

1

레이어드 아키텍처에서 도메인 중심 패키지 구조를 적용하거나 변화하는 시점이 있을까요?

1

39

2

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

0

41

2

LobbyUIController의 백키가 사라졌는데 왜그런건가요?

0

40

2

무조건 타이틀 씬부터 시작해야하나요?

0

39

1

9장 상속 문제와 풀이 질문

0

36

1

Combine Playground 에서 실행 시

0

55

2

BaseUI, UIManager

0

50

3

프로젝트 완성본 문의

0

40

2

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

0

234

2

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

0

157

1

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

0

202

1

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

0

218

2

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

0

171

1

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

0

211

2

강의 질문있습니다.

0

169

1