Vlad Sobenko
С телефона тяжело примеры писать. Пишу например модуль. Он например зависит от репы. Нужен метод findByName( name: string):DogModel.
В модуле я положил интерфейс для этой репы. Потом на уровне инфраструктура я реализую этот интерфейс через реализацию в бд.
Потом подсуну модулю реализацию.
Что мешает это сделать без явного указания интерфейса?
Динамическая типизация на то так и называется, что не требует явного указания типа
Для удобства можно написать тест, который проверяет соответствие интерфейсу и будет даже лучше, чем с тс