- Published 3/12/2024
- 1st Edition
Understand what to do at any point in developing a clean .NET architecture
Master advanced .NET techniques with a focus on actual value delivered by working within a modular, clean architecture. Microsoft Data Platform MVP Dino Esposito explains key clean architecture concepts with a mix of pragmatism and design discipline and helps you solidify your knowledge through a real-world project. Starting with an explanation of the quest for modular software architecture continuing through the methodology of domain-driven design (DDD), Esposito emphasizes the role that modularization plays in managing complexity in software development. Breaking down the layers of an architecture that is modular and maintainable, he presents a sample project that is not simply another to-do list, but an actual tool for the reader. Ultimately, an exploration of common dilemmas for both developers and operations brings together historical developments with real solutions for today.
Microsoft Data Platform MVP Dino Esposito helps you:
· Understand the relevance of modular software architecture in the history of software
· Review domain-driven design concepts both, strategic and practical
· Apply modular analysis techniques to your development
· Make the most of layered architecture
· Make the most of layered architecture that is modular and maintainable
· Explore in detail the individual layerspresentation, application, domain and infrastructure
· Make sense of domain services to separate raw persistence from persistence-related business tasks
· Make your way through a series of C# best-practices for modeling classes from real-world entities
· Understand the benefits of microservices versus modular monoliths
· Understand the analysis of technical shortcuts and benefits of long-term technical investment
· Understand client-side, server-side and other common deployment dilemmas
· Set up your architecture, test your conclusions, and find even more help
Table of Contents
Part I - The Holy Grail of modularity
1. The quest for modular software architecture
2. The ultimate gist of DDD
3. Laying the ground for modularity
Part II - Architecture cleanup
4. The presentation layer
5. The application layer
6. The domain layer
7. Domain services
8. The infrastructure layer
Part III - Common dilemmas
9. Microservices versus modular monoliths
10. Client-side versus server-side
11. Technical debt and credit