This book teaches you all the essential knowledge required to learn and apply time-proven SOLID principles of object-oriented design and important design patterns in ASP.NET Core 1.0 (formerly ASP.NET 5) applications. You will learn to write server-side as well as client-side code that makes use of proven practices and patterns. SOLID is an acronym popularized by Robert Martin used to describe five basic principles of good object-oriented design--Single Responsibility, Open/Closed, Liskov Substitution, Interface Segregation and Dependency Inversion. This book covers all five principles and illustrates how they can be used in ASP.NET Core 1.0 applications. Design Patterns are time proven solutions to commonly occurring software design problems. The most well-known catalog of design patterns comes from Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides, the so-called as GoF patterns (Gang of Four patterns). This book contains detailed descriptions of how to apply Creational, Structural and Behavioral GoF design patterns along with some Patterns of Enterprise Application Architecture. Popular JavaScript patterns are covered, along with working examples of all these patterns in ASP.NET Core 1.0 and C# are included. What You Will Who This Book Is This book is for ASP.NET developers familiar with ASP.NET Core 1.0, C# and Visual Studio.
It's not a terrible introduction to the principles, but it could be more readable and the examples aren't the best. It's not as fun to read as something written by Robert C. Martin, but the author gets his points across. The biggest flaw with the book are the examples. For starters, some of the examples are just bad code. For instance, the Singleton example is not thread safe. Secondly, I appreciate that the author is trying to present real-world problems but the size of the examples can obscure the pattern.
This book must be read with a very critical mind. Examples are very naive and not complete. Class/method/variable names are awful and don't follow conventions. Even code formatting is not consistent! So for experienced developers it's just a waste of time and for beginners it actually might be dangerous(there is a sample with SQL injection).