Дизайн на основе политики в реальном проекте с открытым исходным кодом
Кто-нибудь может указать мне на проект C++ с открытым исходным кодом (желательно не lib), где широко используется дизайн на основе политики?
3 ответа
Ну, я полагаю, что любое приложение C++, использующее контейнеры STL (параметризованные Allocator и, иногда, Comparator), широко использует дизайн на основе политик. Это был краеугольный камень STL, даже когда он видел свет в SGI.
Любой проект, который использует boost:-) http://www.boost.org/community/generic_programming.html
если вы имеете в виду инициирование объектов на основе политик, то это будет много проектов, которые используют boost. Например, http://programmingexamples.net/wiki/CPP/Boost/BGL/DijkstraDirected или вы можете посмотреть большие проекты на github https://github.com/search?q=%23include+%3Cboost%2Fgraph%2Fgraph_traits.hpp%3E&type=Code&ref=searchresults
если вы имеете в виду определение объекта на основе политики, то в большинстве случаев это будут библиотеки. Причина этого заключается в том, что если что-то требует большой настройки и может быть обобщено, оно становится библиотекой (даже если для внутреннего использования). Если вы просто пишете простую программу, которая не нуждается в настройке объектов и полиморфизме, то она не будет использовать большую часть основанного на политике дизайна. для них вы также можете искать на github, пробуя некоторые распространенные синтаксисы на основе политик.
В своей научной работе я использую библиотеку Odeint Boost, которая опирается на политику. Когда я кодирую, я начинаю со специализированного гамильтониана, а затем обобщаю его с помощью политик, и он в основном становится библиотекой, которую я использую во многих других проектах.