с DI или обычно все регистрируют реализацию и используют ее напрямую?
В других языках вопросов бы не возникло, но во Dart, любой класс может выступать в качестве интерфейса, поэтому проблем с моками во время теста быть не должно.
Но все же, хотелось знать best practices.
Да вроде пофиксили это, что можно имплементировать любой класс
Это не могли пофиксить. В Dart 3 добавили модификатор base который запрещает использование класса в качестве интерфейса, но по умолчанию это не применяется
А да. Ну короче если хочешь красиво, можешь через контракты (интерфейсы), если хочешь меньше кода - без них. Мне нравится через интерфейсы, но я не везде их использую
Обсуждают сегодня