суббота, 25 июня 2016 г.

Принцип разделения интерфейса (Interface Segregation Principle)

Принцип разделения интерфейса (ISP), четвертый из принципов SOLID

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

Или "меньше знаешь - крепче спишь". Принцип разделения интерфейсов говорит о том, что слишком «толстые» интерфейсы необходимо разделять на более маленькие и специфические, чтобы клиенты маленьких интерфейсов знали только о методах, которые необходимы им в работе. В итоге, при изменении метода интерфейса не должны меняться клиенты, которые этот метод не используют.

Следование этому принципу помогает системе оставаться гибкой при внесении изменений в логику работы и пригодной для рефакторинга.

Использование же "толстых" интерфейсов приводит к:

  • появлению множества "заглушек", и как следствие - ко множеству лишнего кода, который сложно поддерживать
  • соблазну нарушить принцип SRP, поскольку клиентский код "знает" о переданном классе, реализующем такой интерфейс, слишком много

Комментариев нет:

Отправить комментарий