Показать сообщение отдельно
Старый 12.03.2009, 14:40
Stargazer вне форума Посмотреть профиль Отправить личное сообщение для Stargazer Найти все сообщения от Stargazer
  № 35  
Ответить с цитированием
Stargazer

Регистрация: Nov 2008
Сообщений: 528
Воздержался от темы, потому что имел дело с интерфейсами только в Дельфи, но раз заговорили о Си - я тоже вставлю в тему результаты своего опыта.

Моё мнение в том, что если в конкретном случае можно обойтись без наследования через интерфейсы не потеряв при этом структуру - то лучше обойтись. То есть, я считаю, что избыток интерфейсов - это признак недостаточно чёткого проектирования структуры классов.

Но при этом есть ситуации, в которых интерфейсы - лучший выход.
Например. Такое действительно может быть, что у двух разнородных классов появляется некоторая общность. Можно было бы, конечно, встроить в иерархию абстрактный класс, представляющий это общее поведение - но это решение может оказаться "натянутым", нелогичным и просто неудобным.

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

То есть интерфейсы могут как запутать в клубок - так и избежать запутывания клубка.