Показать сообщение отдельно
Старый 13.06.2009, 01:09   #7
atomicxp
Форумчанин
 
Аватар для atomicxp
 
Регистрация: 01.05.2009
Сообщений: 110
По умолчанию

Цитата:
Сообщение от alexBlack Посмотреть сообщение
В первом случае интерфейс не должен содержать реализации (но это и не шаблон проектирования). А второй позволяет скрыть реализацию класса, реализующего интерфейс (простите за повтор). Отсюда и включение фабрики в шаблон интерфейса. О чем ниже и говорит автор. То есть основное назначение - сокрытие реализации.
Для меня реализация шаблона проектирования интерфейса это прежде всего способ управления другими классами. Если он содержит что-то помимо чисто абстрактных методов, то это не интерфейс.

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

Во всех остальных случаях, на вроде статических методов, и прочих, их применение будет так же означать, что класс не может ассоциироваться с шаблоном проектирования интерфейса.
atomicxp вне форума Ответить с цитированием