
12.03.2009, 14:40
|
|
Регистрация: Nov 2008
Сообщений: 528
|
Воздержался от темы, потому что имел дело с интерфейсами только в Дельфи, но раз заговорили о Си - я тоже вставлю в тему результаты своего опыта.
Моё мнение в том, что если в конкретном случае можно обойтись без наследования через интерфейсы не потеряв при этом структуру - то лучше обойтись. То есть, я считаю, что избыток интерфейсов - это признак недостаточно чёткого проектирования структуры классов.
Но при этом есть ситуации, в которых интерфейсы - лучший выход.
Например. Такое действительно может быть, что у двух разнородных классов появляется некоторая общность. Можно было бы, конечно, встроить в иерархию абстрактный класс, представляющий это общее поведение - но это решение может оказаться "натянутым", нелогичным и просто неудобным.
Ну и классический пример - тот случай, когда нужно объединить функциональность уже готовых классов, которые написаны либо разными людьми, либо тобою же, но в разное время.
То есть интерфейсы могут как запутать в клубок - так и избежать запутывания клубка.
|