Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Общие вопросы > Имеет ли смысл делать классы-обертки? |
Автор: LeonidPr 25.6.2019, 11:45 |
Всем привет, задумался над таким вопросом: во многих проектах разработчики делают обертки над различными низкоуровневыми понятиями для обеспечения кросплатформенности и универсальности. Т.е. в проекте есть что-то вроде MyMutexImpl, MySemaphoreImpl, MyThreadImpl и т.п. При этом может подтягиваться соответствующая имплементация в зависимости от платформы, на которой идет сборка (Pimpl в помощь) Так вот в последних стандартах C++ многие вещи подтянули в стандартную библиотеку (<atomic>, <mutex>, <thread>) и т.д. Возник вопрос - стоит ли делать в новых проектах обертки над такого рода STL классами? С одной стороны вижу смысл в этом в целях обеспечения универсальности, т.к. не все есть в STL, что-то будет браться из других библиотек, или вообще писаться непосредственно через API платформы. И дабы в дальнейшем не думать какой примитив использовать - свой или из STL стоит сделать низкоуровневый слой с универсальным интерфейсом и стандартизированными (в рамках проекта) названиями для классов. С другой стороны - есть же здравый предел, не делать же обертки для STL контейнеров или других стандартных типов. Интересно послушать мнение других по этому вопросу. |