Pull to refresh

Comments 4

А не проще рядом с экстеншен функцией объявить интерфейс BiometricsUtils и его реализацию BiometricsUtilsImpl (с внедрением зависимостей через конструктор), а потом проект шаг за шагом переводить с экстеншена на интерфейс?

Имею в виду, что на каждом шаге заменять использования extension на interface в нескольких классах и их юнит тестах. И выкатывать пулл-реквест.

Думаю и правда проще. Но я пошел именно этим путём, чтобы показать удобную фишку с companion object : BiometricsUtils , благодаря которой можно опустить два последних шага и не добавлять BiometricsUtilsImpl вообще, оставив значение по-умолчанию в конструкторе.

Мне кажется, или вы просто замаскировали синглтон интерфейсом?

Просто заменили extension на интерфейс с реализацией, было бы идеально проектировать именно так изначально, так как тестирование этих extension функций еще та "радость".

Sign up to leave a comment.