Что такое адаптер в стандарте C ++? Как это связано с шаблоном дизайна адаптера? - PullRequest
0 голосов
/ 16 ноября 2018

Стандарт C ++ использует слово адаптеры несколько раз:

  • Адаптеры распределителя (std::scoped_allocator_adaptor)
  • Контейнерные адаптеры (std::queue, std::priority_queue, std::stack)
  • Адаптеры итераторов (std::reverse_iterator, std::move_iterator)

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

Вопросы: Поэтому мне было интересно:

  • Каково будет приблизительное определение адаптера в стандарте C ++?
  • Соответствует ли оно шаблону проектирования адаптера?
  • Если нет, то какой шаблон проектирования лучше всего соответствует адаптеру в стандарте C ++ (адаптер, прокси, фасад, декоратор ...)?

1 Ответ

0 голосов
/ 16 ноября 2018

Слово «адаптер» не используется в каком-то техническом смысле. Это используется как английское слово: вещь, которая приспосабливается. Нет необходимости в более строгом определении, чем это.

Контейнерные адаптеры изменяют интерфейс контейнеров. Адаптеры итераторов модифицируют интерфейс итераторов. И так далее. Вы действительно все обдумываете.

...