我已经开始在kotlin中使用用例来清洁编码实践,但不清楚为什么我们使用调用操作符重载。为什么不调用execute()呢?
interface GetUserUseCase {
operator fun invoke(): Single<Result<User>>
}
在UseCase上使用调用操作符提供了一些好处:
- 在无合约的UseCase上强制一个伪合约
- 读起来更自然
- 调用的灵活性(loginUseCase() vs loginUseCase.invoke())