2011-01-10 5 views
2

Я определил интерфейс, который реализуется базовым классом. Этот базовый класс обеспечивает базовые функции. Теперь у меня есть несколько реализаций, которые реализуют базовый класс и расширяют эти функции с большей спецификой. Когда я называю эти множественные реализации, я передавал реализации в интерфейс (который реализован в базовом классе).Интерфейс + Baseclass - что это за шаблон?

Существует ли какой-либо шаблон, в котором описывается использование этого типа интерфейса? Или такая архитектура контрпродуктивна?

Привет

+1

Это совершенно правильная и разумная конструкция, имеющая интерфейс для полиморфного поведения и базовый класс для повторного использования реализации. – VinayC

ответ

2

Если базовый класс является абстрактным, то есть известный шаблон, Абстрактный класс шаблон одним из его имен. Ваше использование действительно, потому что оно скрывает синонимы, введенные базовым классом, которые не являются частью реализации интерфейса, тем самым защищая код клиента от неправильного использования ваших типов.

Подробнее об этом document.

Смежные вопросы