Mastering Python design patterns a guide to creating smart, efficient, and reusable software - Ayeva, Kamon (Packt, 2018)