inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Kiến trúc sạch iOS & MVVM: Làm chủ RxSwift

Triển khai Usecase

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

Đã giải quyết

267

gration77

1 câu hỏi đã được viết

0

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

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

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

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

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

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

Câu trả lời 2

1

gration77

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

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

0

dumveloper

안녕하세요 !

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

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

 

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

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

취약하지 않게합니다

 

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

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

 

 

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

0

5

0

강의 화면이 안나와요

0

33

0

중급 과정 학습 중 복습과 진도 진행의 우선순위에 대해 질문드립니다

0

35

1

빠져나오기 위해서 System.in을 닫는다는게 무슨 의민가요??

0

32

1

Static 선언 시 에러 발생

0

39

1

문제2번

0

41

1

클로저의 형태로 만들다

0

43

1

Function Types Error

0

34

1

안드로이드 기기 실행 오류

0

45

2

중복 코드와 유지보수성 사이에서 어떤 기준으로 리팩토링해야 할지 궁금합니다

0

35

1

static 변수를 호출할때 인스턴스변수 호출하듯이 호출해도 되나요?

0

52

1

수강연장 가능할까요...

0

54

2

강의에서 사용된 안드로이드 스튜디오 버전을 알고싶어요.

0

56

2

SwiftData 미리보기 미적용

0

53

2

중괄호와 함수

0

56

2

회원 도메인 인터페이스 개발

0

51

1

코드 버그

0

37

1

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

0

268

2

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

0

186

1

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

0

235

1

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

0

252

2

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

0

197

1

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

0

235

2

강의 질문있습니다.

0

194

1