This document describes several modern C++ design patterns including Adapter, Composite, Specification, Builder, and Maybe Monad patterns. It provides code examples for each pattern to illustrate how they can be implemented in C++. For the Adapter pattern, it shows how to wrap a std::string to expose a split method. For Composite, it demonstrates connecting neurons and layers of neurons generically. The Specification pattern section covers filtering products based on criteria. Builder examples include fluent and Groovy-style builders for HTML. Finally, it introduces the Maybe Monad pattern for handling absent values through chained evaluations.