Внимательно изучила, и, вроде бы, поняла, как работает. Хочется какой-нибудь код написать в main, для наглядности, но навыков не хватает.
Помогите, пожалуйста.
public class Solution {
private List<Task> tasks;
private List<String> names;
private DbDataProvider taskDataProvider = new TaskDataProvider();
private DbDataProvider nameDataProvider = new NameDataProvider();
private class TaskDataProvider implements DbDataProvider<Task> {
@Override
public void refreshAllData(Map criteria) {
tasks = MockDB.getFakeTasks(criteria);
}
}
private class NameDataProvider implements DbDataProvider<String> {
@Override
public void refreshAllData(Map criteria) {
names = MockDB.getFakeNames(criteria);
}
}
public void refresh() {
Map taskCriteria = MockView.getFakeTaskCriteria();
taskDataProvider.refreshAllData(taskCriteria);
Map nameCriteria = MockView.getFakeNameCriteria();
nameDataProvider.refreshAllData(nameCriteria);
}
private interface DbDataProvider<T> {
void refreshAllData(Map criteria);
}
class Task {
}
public static void main(String[] args) {
}
public class MockView {
private static final Map FAKE_TASK_CRITERIA = new HashMap();
private static final Map FAKE_NAME_CRITERIA = new HashMap();
public static Map getFakeTaskCriteria() {
return FAKE_TASK_CRITERIA;
}
public static Map getFakeNameCriteria() {
return FAKE_NAME_CRITERIA;
}
public class MockDB {
private static final List<Solution.Task> FAKE_TASKS = new ArrayList<>();
private static final List<String> FAKE_NAMES = new ArrayList<>();
public static List<Solution.Task> getFakeTasks(Map criteria) {
return MockView.getFakeTaskCriteria().equals(criteria) ? FAKE_TASKS : null;
}
public static List<String> getFakeNames(Map criteria) {
return MockView.getFakeNameCriteria().equals(criteria) ? FAKE_NAMES : null;
}
}
}
}
Антонина
34 уровень
Подскажите, если несложно
Обсуждается
Комментарии (2)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Владислав Backend Developer
23 мая 2020, 12:35
Нужен код. Прикрепи код к задаче.
0
Антонина
24 мая 2020, 08:45
Сорри, исправлено
0