Continuing our series of pieces about additional programming-related subjects that are not a part of CodeGym’s course, with links and recommendations on where you can learn them.
Today we are going to talk about design patterns.
![Coding Skills LevelUp, Part 3. Where to Learn About Design Patterns - 1]()
Head First Design Patterns is considered to be one of the best books about design patterns for Java developers, both fresh ones and those who have years of professional experience, but never studied design patterns.
Latest edition of Head First Design Patterns, updated for Java 8, shows you the tried-and-true, road-tested patterns used by developers to create functional, elegant, reusable, and flexible software. “By the time you finish this book, you’ll be able to take advantage of the best design practices and experiences of those who have fought the beast of software design and triumphed. Using the latest research in cognitive science and learning theory to craft a multi-sensory learning experience, Head First Design Patterns uses a visually rich format designed for the way your brain works, not a text-heavy approach that puts you to sleep,” the author of the book promises in the annotation.
This book, Design Patterns in Java, is great for its practice-first approach and deep insight that you need to fully leverage the power of design patterns in any Java software project.
Drawing on their extensive experience as Java instructors and programmers, Steve Metsker and Bill Wake illuminate each pattern with real Java programs, clear UML diagrams, and compelling exercises. Readers will quickly move from theory to application, learning how to improve new code and refactor existing code for simplicity, manageability, and performance.
Head First Object-Oriented Analysis & Design shows you how to analyze, design, and write serious object-oriented software. It teaches how to use OO principles like encapsulation and delegation to build applications that are flexible, how to apply the Open-Closed Principle (OCP) and the Single Responsibility Principle (SRP) to promote reuse of your code, how to leverage the power of design patterns to solve your problems more efficiently. You will also learn to use UML, use cases, and diagrams to ensure that all stakeholders are communicating clearly to help you deliver the right software that meets everyone's needs.
In this work, four experienced designers present a catalog of simple and succinct solutions to commonly occurring design problems. Previously undocumented, these 23 patterns allow designers to create more flexible, elegant, and ultimately reusable designs without having to rediscover the design solutions themselves.
The authors begin by describing what patterns are and how they can help you design object-oriented software. They then go on to systematically name, explain, evaluate, and catalog recurring designs in object-oriented systems.
This course extends object-oriented analysis and design by incorporating design patterns to create interactive applications. Through a survey of established design patterns, you will gain a foundation for more complex software applications. Finally, you will identify problematic software designs by referencing a catalog of code smells.
This is the fourth course in the specialization about learning how to develop video games using the C# programming language and the Unity game engine on Windows or Mac. Will be good for those who are interested in game development.
In this video tutorial, Derek Banas covers all of the most common design patterns. He also explains when to use them and other topics on OOP design principles.
Another decent design patterns tutorial, this time done by Christopher Okhravi.
Finally, a design patterns tutorial explained in simple words using real-world examples by Mosh Hamedani, author of a popular channel Programming with Mosh.

GO TO FULL VERSION