Skip to content

UseCase 프로토콜 네이밍

yuncheol-AHN edited this page Nov 4, 2024 · 1 revision

UseCase 프로토콜 네이밍

문제 상황

  • 인터페이스를 활용해서 구현체를 숨겨야 하는 경우 인터페이스와 구현체의 네이밍 고민
    • e.g. 클린 아키텍처와 같은 모듈화 계층 관계
  • 프로토콜 네이밍: UseCaseProtocol vs UseCaseInterface vs UseCase
  • 구현체 네이밍: UseCase vs UseCaseImpl vs UseCaseImplement

문제 해결

protocol UseCasable { }

struct UseCase: UseCasable

class viewmodel {

usecase: UseCase

}

protocol UseCase { }

*class* UseCaseImplement: UseCase { }

protocol LoginUseCase {}

class UserLoginUseCase: LoginUseCase {} 이런식은 어떤가요

Implement를 사용하면 시선이 Implement로 가서 UseCase의 이름에 시선이 잘 안간다

→ 가독성을 위해 Impl로 축약해서 사용하는 건 어떨까

결론

protocol Usecase {
	// ...
}

class UsecaseImpl {
	// ...
}
Clone this wiki locally