Design Patterns in Modern C++20 - Dmitri Nesteruk (Springer, 2022)