collection of design patterns in C++11 which I frequently use