ISR
Или Interface Segregation Principle из SOLID. По большому счёту частный случай Single Responsibility. Легко заметить нарушение - большое число методов с TODO или UnsupportedOperationException в одном классе. Или любое количество, но живущих там в течение долгого времени.
А как его не нарушать?
Самый простой способ - интерфейс из одного метода. Он же SAM - Single Abstraction Method. И лямбдах можно использовать.
Хотя лично мне первое время такие интерфейсы казались какими-то искусственными. Но потом понял - искусственными они становятся когда имеют только одну реализацию. Один на один даёт минус) Тогда бесполезно, да. А вообще - с таких интерфейсов и нужно начинать. И по возможности придерживаться)
#solid
Или Interface Segregation Principle из SOLID. По большому счёту частный случай Single Responsibility. Легко заметить нарушение - большое число методов с TODO или UnsupportedOperationException в одном классе. Или любое количество, но живущих там в течение долгого времени.
А как его не нарушать?
Самый простой способ - интерфейс из одного метода. Он же SAM - Single Abstraction Method. И лямбдах можно использовать.
Хотя лично мне первое время такие интерфейсы казались какими-то искусственными. Но потом понял - искусственными они становятся когда имеют только одну реализацию. Один на один даёт минус) Тогда бесполезно, да. А вообще - с таких интерфейсов и нужно начинать. И по возможности придерживаться)
#solid