нарушает ли интерфейс по умолчанию принцип разделения интерфейсов?

в этом вопросе автор приводит несколько причин, почему defaultключевое слово введено в язык Java. Одна из причин - поддержка необязательного метода .

Однако, принимая во внимание ISP , ни один клиент не должен зависеть от методов, которые он не использует.

(из Википедии) В области разработки программного обеспечения принцип разделения интерфейсов (ISP) гласит, что ни один клиент не должен зависеть от методов, которые он не использует.[1] Интернет-провайдер разделяет очень большие интерфейсы на более мелкие и более конкретные, чтобы клиенты знали только о методах, которые их интересуют. Такие сжатые интерфейсы также называются ролевыми интерфейсами.

С моей точки зрения, нас следует поощрять к разделению функций на небольшие интерфейсы, не объединяя все в один интерфейс с помощью трюка по умолчанию.

1 ответ

Просто и коротко:

Да, это конфликтует с провайдером.

Но нет другого выбора, если вы хотите представить метод задним числом, после того, как вы уже разработали исходный интерфейс и заставили людей внедрять его по всему миру.

Другие вопросы по тегам