Design Patterns are a necessity for strong developers to understand. In this video, we'll learn why these patterns exist and how to succinctly explain their role of design patterns in software engineering. This video also introduces you to the specific design patterns that are covered in this tutorial which include: Decorator, Factory, Observer, Singleton, Iterator, Strategy, Repository and Unit of Work. Also, learn who The Gang of Four are and what role they played in the evolution of design patterns.
- A design pattern is a general reusable solution to commonly occurring software problems. It's not a finished specification that can be transformed directly into code. Instead, think of it as a blueprint for a solution. Design patterns make it easier for programmers to produce high-level solutions without getting bogged down with implementation details. When done right, these patters lead to software solutions that are easily understandable, testable, and maintainable.
Maintainability is one of the most important benefits because it anticipates potential change to the software. And because of this, makes it easier to update code when major changes are needed. Some well known patterns programmers use today. Were first outlined in the book, "Design Patterns: Elements of Reusable Object-Oriented Software". This book was written by four researchers, Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. Commonly called, The Gang of Four.
Pretty cool name. This book fundamentally changed the way programmers think about writing code. The Gang of Four covered 23 patterns, which are now generally considered the foundation for all other patterns.
In this course, developer and technologist Reynald Adolphe explains the purpose and effective use of eight design patterns, including six Gang of Four design patterns and two .NET patterns. Gang of Four patterns fall under three categories: structural, creational, and behavioral. Reynald helps you learn about select patterns from each category. He describes each pattern and demonstrates how programmers can leverage them in real-world applications.
- Factory Method
- Abstract Factory
- Singleton pattern
- Decorator pattern
- Iterator pattern
- Observer pattern
- Repository pattern
- Unit of Work pattern