Design patterns started with Smalltalk and "old" C++. Since then, programming languages and paradigms have advanced quite a bit, and C++ is no exception. In this presentation, we'll take a look at how classic
Gang of Four design patterns can be improved via Modern C++. We'll also take a look at functional programming patterns and how C++ functional literals and lambda expressions make monads possible.