Design Patterns notes and code snippets