An introduction to design patterns in C++ with Qt - Ezust, Alan (Prentice Hall, 2012)