Ответы пользователя по тегу ООП
  • Для чего до реализации класса определять интерфейс?

    szKarlen
    @szKarlen
    Думаю, сначала нужно четко определить, что не всегда и не во всех случаях необходимо реализовывать интерфейс. Так, для класса Point2D абсолютно этого не надо, или же Vector2D, Vector3D.
    Выше приводили пример с фигурами — однако, он показывает не это. Его предназначение — наследование в ООП (вспомним три постулата: полиморфизм, инкапсуляция и наследование).
    Интерфейсы, на практике, определяются в большинстве случаев для:
    1. уменьшения связности системы
    2. классов (объектов), выполняющих роль по обработке данных
    3. классов (объектов), следующих какому-либо паттерну программирования (репозиторий, стратегия)
    4. на этапе проектирования для создания заглушек
    5. для использования в юнит-тестировании

    А так как Вы еще писали про C# — то вспомним и про явную и неявную реализацию интерфейса, что удобно, например в GUI.
    Интерфейс — скелет, на котором строится вся система.
    Ответ написан
    Комментировать