... не балуйся теорией
(template metaprogramming), я ...
Год назад я посвятил несколько недель чтению замечательной книги Андрея Александреску «Современное проектирование на C++». Правда, поскольку на дворе был 2010-ый, проектирование уже было не вполне современным (книга издавалась в 2001-ом), но для меня, желающего расширить область знаний, она вполне сгодилась. Как человек тяготеющий к практике, я тут же решил применить полученные знания в проекте, которым тогда занимался на работе, где кодил несложные вещи за умеренную плату, совмещая с учебой. Суть заключалась в том, что нужно было по UDP отсылать некие данные по заранее обговоренному протоколу. Напичкавшись по самое не балуйся теорией TMP (template metaprogramming), я постарался тут же влить все приемы в свое новое творение — библиотеку сетевых компонент, причем сделать это максимально гибко, то есть с поддержкой нескольких платформ и возможностью комбинировать разные варианты соединения и передачи данных по сети. В результате я написал ее только для POSIX-сокетов, но суть не в этом. Это библиотека, до самого чрева пропитана приемами, описанными в первых ста страницах Александреску.
Читать дальше →