One of the best books a game programmer can have at their disposal. I have a physical copy of the book alongside Design Patterns from the gang of four. Indispensable, timeless works.
For any beginners, I recommend reading this first. Once you've gotten a feel for the patterns covered in here, then go and check out Design Patterns. I think Nystrom's writing is much more approachable and digestible.
Another tip for folks using C# and Unity is to check out the Habrador's Unity-Programming-Patterns repository on GitHub. Nystrom will get you to understand the pattern, then Habrador's repository will give you the extra bits you need to know about C# and Unity to best implement it.