Форум программистов, компьютерный форум CyberForum.ru

Является ли адаптер контейнера контейнером - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ищу описание Pocketsphinx http://www.cyberforum.ru/cpp/thread1784787.html
Можете дать хорошее описание ( туториал ) по pocketsphinx. Просто у меня весьма туго с английским
C++ Multimap find the same key and sum up values Доброе утро Хотел уточнить , потому что знаю, что можно так сделать, но как не знаю if (multimap.find(currentNode) == multimap.end()) { multimap.insert(pair<int,int>(nextNode, Totallength)); } else { http://www.cyberforum.ru/cpp/thread1784525.html
На каком языке написан Explorer.exe? C++
На каком языке написан explorer.exe? *не на русском
Реальная задача для реального проекта для желающих покодить C++
Привет:) Попросили сделать парсер сайта по-дружески, но у меня реально времени на него нет. Если кому-то интересно, могу двигать в нужном направлении и может, при желании, могу пинать за плохой код. Что нужно сделать - парсер с HTTP клиентом. Пример клиента на boost::asio скину, покажу как парсить HTML регулярками (да, есть библиотеки, но думаю руками будет интересней). Могу архитектуру...
C++ Матрица перехода между двумя системами координат в 2D http://www.cyberforum.ru/cpp/thread1782613.html
Есть 2 системы координат в 2D пространстве. Есть координаты 2 точек в этих системах координат (как я понимаю, необходимо как раз 2 точки). Нужно найти матрицу перехода (X, Y, fi) между этими системами координат. Не подскажите, где взять готовый код на C++ или другом языке для решения этой задачи. А то решаю в лоб, получаются довольно большие уравнения с тригонометрией и несколькими решениями).
C++ Парсинг и обход дерева С помощью библиотеки htmlcxx парсится веб страничка. На выходе получаю DOM дерево. Ладно бы была одна страничка, тогда написал функцию для обхода, так страничек много и для каждой писать функцию для обхода с соответствующим поиском тегов и атрибутов это ж ппц как не охото. На шарпе юзал AngleSharp с его QuerySelectorAll, писал QuerySelectorAll("tr td:nth-child(1) a") и получал все нужные... подробнее

Показать сообщение отдельно
hoggy
6408 / 2626 / 457
Регистрация: 15.11.2014
Сообщений: 5,800
Завершенные тесты: 1
26.07.2016, 17:33     Является ли адаптер контейнера контейнером
Цитата Сообщение от Kastaneda Посмотреть сообщение
т.к. я могу передать свой контейнер в адаптер, и данные будут хранится в моем контейнере, а не в queue
ну и что?
это вообще можно было бы назвать "деталями реализации",
если бы не было вынесено в интерфейс адаптера.

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

Цитата Сообщение от Kastaneda Посмотреть сообщение
Адаптер - это паттерн, по сути обертка. В данном случае - это обертка над контейнером.
это не просто "обертка".
смысл паттерна "адаптер" - адаптировать интерфейс существующего механизма,
для клиентов, которые ожидают отличный интерфейс.
но при этом бизнес-логика остается прежней.

например, у нас есть std::vector, со своим конкретным паблик-интерфейсом.
и есть клиентский код, которому нужен контейнер с точно такой же логикой,
но с другим паблик-интерфейсом.

мы оборачиваем std::vector нашим адаптером,
который определяет нужный клиентам паблик интерфейс,
и просто делегирует задачу std::vector.

в случае с queue все иначе.
хоть формально его и называют "адаптером".
однако это не имеет отношения к паттерну "адаптер".

потому что queue имеет собственный паблик интерфейс.
и собственную бизнес-логику.
которая не имеет ничего общего с теми контейнерами,
на которых он базируется.

грубого говоря, если мы уберем из интерфейса знание о контейнере,
на котором он базируется,
то получим "full container class".
а что там у него под капотом уже никого не должно касаться.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru