Notebook
Design patterns in practice: singleton, builder, strategy, factory, and more with real code examples.