нарушает ли интерфейс по умолчанию принцип разделения интерфейсов?
в этом вопросе автор приводит несколько причин, почему
default
ключевое слово введено в язык Java. Одна из причин - поддержка необязательного метода .
Однако, принимая во внимание ISP , ни один клиент не должен зависеть от методов, которые он не использует.
(из Википедии) В области разработки программного обеспечения принцип разделения интерфейсов (ISP) гласит, что ни один клиент не должен зависеть от методов, которые он не использует.[1] Интернет-провайдер разделяет очень большие интерфейсы на более мелкие и более конкретные, чтобы клиенты знали только о методах, которые их интересуют. Такие сжатые интерфейсы также называются ролевыми интерфейсами.
С моей точки зрения, нас следует поощрять к разделению функций на небольшие интерфейсы, не объединяя все в один интерфейс с помощью трюка по умолчанию.
1 ответ
Просто и коротко:
Да, это конфликтует с провайдером.
Но нет другого выбора, если вы хотите представить метод задним числом, после того, как вы уже разработали исходный интерфейс и заставили людей внедрять его по всему миру.