我想在我的项目领域层(清洁 MVVM)中实施单一责任原则。
我有大约。200 个不同的用例,管理起来非常忙。现在我正在考虑创建一个 UseCaseManager,它可以根据输入和输出对象为我提供所需的 UseCase。
我尝试了一种方法,但看起来不太好。我提到了一些示例代码,请帮助我如何将所有 UseCases 聚合到一个 UseCaseManager。
用例1:
public class ActualUseCase1 extends AsyncUseCase<Object3,Object4> {
public ActualUseCase1(SchedulerProvider schedulerProvider) {
super(schedulerProvider);
}
@Override
public Flowable<Object4> buildUseCaseFlowable(Object3 input) {
return Flowable.just(new Object4());
}
}
用例2:
public class ActualUseCase2 extends AsyncUseCase<Object1, Object2> {
public ActualUseCase2(SchedulerProvider schedulerProvider) {
super(schedulerProvider);
}
@Override
public Flowable<Object2> buildUseCaseFlowable(Object1 input) {
return Flowable.just(new Object2());
}
}
用例管理器:
public interface UseCaseManager<In, Out> {
<T> T getUseCase(In input, Out output);
}
T 可以是具有不同 In & Out 对象的不同 UseCase。
用例管理器实现:
public class UseCaseManagerImpl implements UseCaseManager {
@Override
public Object getUseCase(Object object1, Object object2) {
return null;
}
}
现在这是主要问题,我无法理解。我如何实现 getUseCase 方法。