проекте сложилось и хочется знать насколько правильно это. Вроде как заложено опытным программистом с 15+ годами опыта, но он ушёл и вот появились вопросы.
1. FeaturenameRepository -> Interface, FeaturenameDataSource - имплементация FeaturenameRepository.
По идее Repository и DataSource 2 разные сущности, но на проекте сложилось что вот так объявлены репозитории. Насколько это правильно вообще?
2. На проекте многомодульная архитектура где наружу из модуля торчит интерфейс FeaturenameManager и его реализации LocalFeaturenameManager, RemoteFeaturenameManager и FusedFeaturenameManager, последний берёт данные из первых двух как надо и возвращает.
По идее, "по правильному" вроде как FusedFeaturenameManager - просто репозиторий, где Local и Remote -> DataSources.
Появилась альтернатива. Делать для Local и Remote отдельные интерфейсы со своими методами:
LocalFeaturenameDataSource -> имплементация которого условно RoomFeaturenameDataSource
RemoteFeaturenameDataSource -> имплементация которого условно WebManagerFeaturenameDataSource
И общий FeaturenameManager(Repository) -> DefaultFeaturenameManager(Repository)
Насколько заложенный подход вообще правильный и насколько правильно то как я понимаю должно быть. Мб ввиду отнсительно небольшого опыта я не вижу полной картины?
Вы правильно все понимаете как нужно
Обсуждают сегодня