RoomDatabase содержит в себе набор DAO из разных фичей, из-за чего получается, что БД зависит сразу от всех фичей, а не наоборот. Существуют ли подходы, чтобы фича зависела от базы данных, а не наоборот? Или база данных это такой же host, как и Application, поэтому такая ситуация ОК?
Я делал подобное в примере: https://github.com/PavelSidyakin/ProductList Там, правда, одна фича с БД, но при любом количестве фичей принцип будет тот же. Идея такая: у каждой фичи есть свой интерфейс репозитория над БД. В имплементации будет дёргаться непосредственно dao. Соответственно, фичи знают только про свои интерфейсы репозиториев над БД. БД ничего не знает про фичи.
А зачем вообще в di нужен этот класс? Это же обертка которая возвращает разные диспетчеры, проще 1 строкой обратиться к ним.
Обсуждают сегодня