Clean Architecture with .NET

Book description

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

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

Product information

  • Title: Clean Architecture with .NET
  • Author(s): Dino Esposito
  • Release date: April 2024
  • Publisher(s): Microsoft Press
  • ISBN: 9780138203443