Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Какое решение выбрать, основываясь на Clean Architecture? Работа через общий пустой класс или же интерфейс без действий?

Павел Куликов Ученик (14), на голосовании 1 год назад
У меня есть сканер QR кодов, который сканирует данные и подтягивает их из бд через мой REST API. В Qr коде лежит название таблицы бд и Id, чтобы можно было найти любой нужный объект в бд. Хочется, чтобы можно было сканировать любой объект и мапить его в нужный тип. У меня есть вариант отнаследовать все мои объекты (POJO) от какого-то абстрактного класса ScannedData и тогда можно сканировать данные любого объекта, а в нужном месте просто Кастить к нужному типу. А есть вариант сделать то же самое не через абстрактный класс, а через интерфейс. Но по сути никаких действий этот интерфейс не даёт, он лишь нужен для создания обобщения типов, с которыми можно работать, а потом кастить к нужному типу. Что посоветуете? Наследовать POJO через абстрактный или через интерфейс? Или что-то совсем иное?
Дополнен 1 год назад
Пишу на Котлин, поэтому множественного наследования нет. Вообще всегда советуют использовать интерфейсы, если нет данных в абстрактном классе, которые могли бы быть полезны. Но у меня тогда получится пустой интерфейс, меня это как неопытного разработчика смущает. А ещё это нормально, что я имею вообще какие-то интерфейсы над POJO классами?
Голосование за лучший ответ
Оракул Оракул (62089) 1 год назад
Нужен интерфейс и не пустой, а с геттерами таблицы бд и id
Павел КуликовУченик (14) 1 год назад
То есть чтобы можно было потом на стороне UI (работаю через JetPack Compose в Андройд, если знаете) получить название таблицы через этот интерфейс и уже потом скастить его к нужному классу, чтобы извлечь нужные данные, верно я Вас понял?
Похожие вопросы