Паттерны проектирования — удобный прием программирования для решения рутинных задач разработки ПО. Грамотное использование паттернов позволяет добиться соответствия любым требованиям и снизить расходы. В этой книге описаны эффективные способы применения паттернов проектирования с учётом специфики языка C# и платформы .NET Core. Кроме знакомых паттернов проектирования из книги «Банды четырех» вы изучите основы объектно-ориентированного программирования и принципов SOLID. Затем узнаете о функциональных, реактивных и конкурентных паттернах, с помощью которых будете работать с потоками и корутинами. Заключительная часть содержит паттерны для работы с микросервисными, бессерверными и облачно-ориентированными приложениями. Вы также узнаете, как сделать выбор архитектуры, например микросервисной или MVC. Вы научитесь - Повышать гибкость кода, используя принципы SOLID. - Применять разработку через тестирование (TDD) в ваших проектах на .NET Core. - Выполнять эффективную миграцию баз данных, обеспечивать долговременное хранение данных и их тестирование. - Преобразовывать консольное приложение в веб-приложение с помощью подходящего MVP. - Писать асинхронный, многопоточный и параллельный код. - Использовать парадигму MVVM и работать с RxJS и AngularJS для управления изменениями в базах данных. - Откроете для себя возможности микросервисов, бессерверного программирования и облачных вычислений.
This book has done a fantastic job of introducing me to new and *crucial* information on my software development journey. This book has helped me to fully grasp the importance of implementing design patterns in my code that--up until finding this book--I barely even knew existed.
That being said, the case studies used in the book do an *atrocious* job of informing the reader of the accompanying changes that are being made behind the scenes--particularly in the chapters regarding ASP.NET Core and later.
Many times the author didn't include the contents of classes, folders, or methods as they were being added: I would be following along with an exercise and all of a sudden the author would make a method call or reference an entire class that the book *never* included a definition for. Sure, I could pull up the accompanying online code to access what I was missing, but the book never explicitly stated that I *needed to* when this happened. This approach frequently left me wondering if I'd missed something, so I was left constantly backtracking before confirming that the content was indeed missing from the book.
After struggling through Chapter 6 *twice* in this fashion, I eventually put the book down for good. Although the book starts out incredibly strong, I cannot recommend it in good conscience.