Design Patterns in C# : A Hands-on Guide with Real-World Examples (2018)