Achieving Interface segregation in Android using Kotlin extension and inline functions
Простой пример реализации принципа "Разделения интерфейсов" из SOLID, с помощью Kotlin extension и inline функций.
В качестве примера, в статье рассматривается интерфейс TextWatcher для EditText, имеющий несколько методов, но в андроиде на самом деле, довольно много таких кейсов – нужен 1 метод, а приходиться реализовать все. В статье собственно и показан пример как это решить.
Кстати, еще один способ – реализовать некий адаптер обертку над интерфейсом и использовать его. Можете посмотреть исходники нативного AnimatorListenerAdapter.
Читать (En)