UseCase 분리
ericKwon95 opened this issue · comments
Eric Kwon / 권승용 commented
Why
서로 연관된 유즈 케이스들을 같은 프로토콜 안에 두고 사용했을 때 아래와 같은 문제점들이 있었습니다.
- 뷰모델에서 원하는 유즈 케이스의 재사용이 어렵다
- ex) follow + unfollow + googleLogin의 조합이 필요한 경우 프로토콜 합성을 통해 새로운 구현체를 만들어야 한다.
- 사용하지 않는 유즈 케이스에 대한 접근이 가능하다
- ex) 만약 뷰모델이 follow라는 유즈 케이스만을 사용하고 싶다고 해도, FriendUseCase를 준수하는 구현체를 주입받으면 unfollow, search, loadChart 등의 기능에 접근 가능하다
이를 해결하기 위해 고민 과정을 거쳐 유즈케이스를 독립적으로 분리하기로 하였습니다.
Todo
- 유즈 케이스 분리
- 분리한 유즈 케이스 각 뷰모델에 적용