Head First Design Patterns is a pretty good and classic book for you programmers who know in the profession. The book will provide analytical patterns applied to situations, objects, … that have met in reality. You can then refer to and learn more how to address programming issues.