2009-09-04 4 views
0

У меня есть производный класс, который не имеет переменных, но просто адаптирует интерфейс к другому классу - есть ли специальное имя для такого класса в C++?C++ производный класс без переменных

+1

Немного не связанный с вашим вопросом - если вы меняете/адаптируете интерфейс, вывод может оказаться неприемлемым. –

+0

Частное наследство в порядке; общественность - нет. – MSalters

ответ

7

Он «адаптирует» интерфейс? Предполагая, что это означает, что он предоставляет одно и то же поведение, но с разными вызовами методов (или, возможно, с небольшими поведенческими изменениями), мы склонны называть это Adapter. Это общий шаблон дизайна.

Связанный шаблон Facade, который является адаптером, который упрощает API. Например, он может обеспечивать разумные параметры по умолчанию или абстрагировать часть необходимого потока вызовов в единицу, которая может быть вызвана другим кодом.

+0

Не мог бы лучше сказать это. :) – jeremyalan

+0

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

1

Rob правильный, то, что вы описываете, соответствует шаблону дизайна Adapter.

Если он «адаптирует» более одного класса или пакета за кулисами, это также называется Facade.

+0

Это, кажется, ничего не добавляет. – snarf

+0

Snarfblam: похоже, что Роб добавил свой абзац о Фасад после моего поста. –

+0

Правильно; или, вернее, поскольку я редактировал, чтобы добавить абзац о Facade, ваш пост появился. В любом случае, я представил редактирование, никакого вреда. – Rob

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