Adaptive Code Agile coding with design patterns and SOLID principles - McLean Hall, Gary (Microsoft Press, 2017)