Hands-on design patterns with C# and .NET Core write clean and maintainable code by using reusable solutions to common software design problems - Aroraa, Gaurav (Packt Publishing, 2019)