170 похожих чатов

Подскажите. У меня есть 3 структуры с разичием в 1-2 поля,

каждая структура эмбедит структуру Card:

Структуры:
1. OrdinaryCard
2. ProgressCard
3. OptionsCard

Я хочу реализовать для них общий метод Get, который из базы будет возвращать карту.

Правильно я понимаю, что тут либо возвращать интерфейс, либо для каждой карты реализовывать свой метод Get?

Или есть ещё какие-то варианты?

И такой вопрос. У меня за доставание карты из бд отвечает Repository. Так вот. Получается придётся делать 3 вида репозиториев, для каждого вида карты и реализовывать этот метод Get? Или сделать 1 репозиторий Карт с методами GetOrdinaryCard, GetProgressCard и тд. ?

12 ответов

30 просмотров

Почему либо? Наличие интерфейса не исключает необходимость для каждой структуры делать свой метод get. Если тело метода одинаковое, сделай еще одну базовую структуру и "наследуйся" от нее

wm0- Автор вопроса
Артём Лазаренко
Почему либо? Наличие интерфейса не исключает необх...

Зачем интерфейс, если у репозитория будет 3 метода, каждый из которых может возвращать определённую структуру

wm0- Автор вопроса
Артём Лазаренко
Интерфейс нужен для абстракции

Хорошо. 3 репозитория в каждом по методу или 1 репозиторий и 3 метода? Все будет в 1 коллекции.

wm0- Автор вопроса
Артём Лазаренко
Почему либо? Наличие интерфейса не исключает необх...

Не понял про "наследуйся". Как это поможет сократить дублирование при реализации методов Get?

wm0
Хорошо. 3 репозитория в каждом по методу или 1 реп...

Я б сделал 3 структуры и интерфейс, как писал выше если тело метода одинаковое, сделал бы 4 структуры

Аноним

Я бы сделал один репозиторий карт

Ты всегда можешь сделать базовый репозиторий Card с 3мя методами, каждый из которых содержит свою модель запроса, свой декодер в core модель

wm0- Автор вопроса

Какой интерфейс? С кучей методов GetField?

wm0- Автор вопроса
Владислав
Ты всегда можешь сделать базовый репозиторий Card ...

Как это будет выглядеть на стороне вызывающего, а то не очень понял, как это решает проблему

wm0
Какой интерфейс? С кучей методов GetField?

Я всеми вводными не обладаю 🤷‍♂

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта