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

Ребят, есть вопрос по DI: Работаю над кодом, в котором используется

даггер. Вроде бы для разделения сущностей и упрощения зависимостей.
Но все зависимости прописаны прямо от "реализаций". То есть ни одного интерфейса на границах между слоями. Вроде бы DI, а вроде бы IoC нарушается самым неприличным образом (нет абстракций, от которых зависят все).
Я написал часть кода, ну и по-классике отгородил слои интерфейсами. А в даггере на инжект интерфейсов прописал конкретные реализации. Ванильно короче.
На PR же тиммейты забраковали, дескать "нафига нам лишние интерфейсы, если мы не собираемся писать несколько реализаций? Это только раздувает код, сегодня так никто не пишет. И вообще это старомодно!"
С одной стороны да, есть разумное зерно в этом посыле, а с другой я чувствую какой-то подвох.
Я что, правда отстал от трендов в архитектуре или это просто некая иррациональная мода в разработке пошла? 🤔

2 ответов

14 просмотров

тестировать сложнее. реализацию при тестировании подменить легче с интерфейсами, чем без них

А у тебя были header-интерфейсы или ролевые?

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

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

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...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
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
Вот еще странный косяк, подскажите как бороться. Я git clone сделал себе всего embassy и примеры там запускаю. Всё хорошо. Но вот решил в cargo.toml зависимости не как в приме...
Lukutin R2AJP
2
Карта сайта