/
Injection.java
27 lines (24 loc) · 1.15 KB
/
Injection.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
package com.goldze.mvvmhabit.app;
import com.goldze.mvvmhabit.data.DemoRepository;
import com.goldze.mvvmhabit.data.source.HttpDataSource;
import com.goldze.mvvmhabit.data.source.LocalDataSource;
import com.goldze.mvvmhabit.data.source.http.HttpDataSourceImpl;
import com.goldze.mvvmhabit.data.source.http.service.DemoApiService;
import com.goldze.mvvmhabit.data.source.local.LocalDataSourceImpl;
import com.goldze.mvvmhabit.utils.RetrofitClient;
/**
* 注入全局的数据仓库,可以考虑使用Dagger2。(根据项目实际情况搭建,千万不要为了架构而架构)
* Created by goldze on 2019/3/26.
*/
public class Injection {
public static DemoRepository provideDemoRepository() {
//网络API服务
DemoApiService apiService = RetrofitClient.getInstance().create(DemoApiService.class);
//网络数据源
HttpDataSource httpDataSource = HttpDataSourceImpl.getInstance(apiService);
//本地数据源
LocalDataSource localDataSource = LocalDataSourceImpl.getInstance();
//两条分支组成一个数据仓库
return DemoRepository.getInstance(httpDataSource, localDataSource);
}
}