Clean Architecture with .NET

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

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.

Author(s): Dino Esposito
Publisher: Microsoft
Year: 2024

Language: English
Pages: 614

Cover Page
Title Page
Copyright Page
Contents at a Glance
Contents
Acknowledgments
Introduction
Who should read this book
This book might not be for you if…
Organization of this book
Downloads: reference application
Errata, updates, and book support
Stay in touch
Part I: The Holy Grail of Modularity
Chapter 1. The quest for modular software architecture
In the beginning, it was three-tier
The DDD canonical architecture
Different flavors of layers
Summary
Chapter 2. The ultimate gist of DDD
Design driven by the domain
Ubiquitous language
The bounded context
The context map
Summary
Chapter 3. Laying the ground for modularity
Aspects and principles of modularization
Applying modularization
Achieving modularity
The simplest solution ever
Summary
Part II: Architecture Cleanup
Chapter 4. The presentation layer
Project Renoir: the final destination
Business requirements engineering
Boundaries and deployment of the presentation layer
Presentation layer development
Summary
Chapter 5. The application layer
An architectural view of Project Renoir
Task orchestration
Data transfer
Implementation facts
Boundaries and deployment of the application layer
Summary
Chapter 6. The domain layer
Decomposition of the domain layer
Devising a domain model
The hitchhiker’s guide to the domain
Summary
Chapter 7. Domain services
What is a domain service, anyway?
Common scenarios for domain services
Implementation facts
Open points
Summary
Chapter 8. The infrastructure layer
Responsibilities of the infrastructure layer
Implementing the persistence layer
Data storage architecture
Summary
Part III: Common Dilemmas
Chapter 9. Microservices versus modular monoliths
Moving away from legacy monoliths
Facts about microservices
Can microservices fit all applications?
Modular monoliths
Summary
Chapter 10. Client-side versus server-side
A brief history of web applications
Client-side rendering
Server-side rendering
Summary
Chapter 11. Technical debt and credit
The hidden cost of technical debt
The hidden profit of technical credit
Summary
Index
Code Snippets