Preface
Design patterns are a set of solutions to many common problems in software development. They are essential for any experienced developer and professionals crafting software solutions.
We start by exploring automated testing, architectural principles like SOLID, and REST APIs. Then we learn about basic design patterns, dependency injection, and ASP.NET Core including minimal APIs, Model-View-Controller, and options. Next, we move on to learn how to design and manage applications using patterns and techniques. We finally explore higher-level patterns and how to structure the application as a whole.
The book covers many fundamental Gang of Four (GoF) patterns, such as Strategy, Singleton, Decorator, Façade, and Composite. The chapters are organized to build up your knowledge progressively, starting small with a strong base and building slowly on top of it, the same way you would build a program. Many use cases in the book combine more than one design pattern to display alternate usage. It also aims to show you that design patterns are tools to be used, not complex concepts to be feared.
This book is a journey to learn the reasoning behind the craft. By the end of the book, you will be able to mix and match design patterns and will have learned how to think about architecture. You will explore techniques to help you create the building blocks that you need to solve your unique day-to-day design problems.