Design Patterns for web-developer. A book by Dmitry Sheiko