Domain-Driven Refactoring: Encapsulating Data
In this blog post, Jimmy Bogard explains the importance of properly encapsulating data in a domain model and shares some helpful strategies for doing so through refactoring. He examines the Offer and ...
Domain-Driven Refactoring: Extracting Domain Services
In this post, Jimmy Bogard discusses the process of domain-driven refactoring as a means of arriving at a domain-driven design. He starts by explaining the model building blocks of domain-driven desig...
Domain-Driven Refactoring: Long Methods
In this post by Jimmy Bogard, he discusses the issue of long methods in code and how to refactor them using domain-driven design principles. He walks through an example of a long method and identifies...
Domain-Driven Refactoring: Procedural Beginnings
In this post, the author talks about their approach to writing dumb, procedural code during the red-green-refactor TDD process, and how it helps them let code smells guide them into where the code sho...
Improving Microservices Reliability - Part 2: Outbox Pattern
In this blog post, David Guida discusses the Outbox Pattern as a solution to the challenges of distributed transactions in microservices architecture. He explains how by persisting the state as much a...
Processing Pipelines Series - Concepts
In this series, well explore technologies for processing data in pipelines and directed acyclic graphs. Well start with real-time processing on a single machine using .NET Core libraries, then move to...
Processing Pipelines Series - Reactive Extensions (Rx.NET)
This blog post discusses the use of Reactive Extensions (Rx.NET) in processing pipelines. The post provides an introduction to Rx.NET, discusses the benefits of using Rx.NET, and demonstrates how Rx.N...
Processing Pipelines Series - TPL Dataflow - Alternate Scenario
In this blog post, Jack Vanlightly introduces an alternate scenario for TPL Dataflow pipeline with different requirements around latency and data loss. The new scenario is that the producer can be slo...
Processing Pipelines Series - TPL Dataflow
TPL Dataflow is a data processing library from Microsoft that allows you to compose different blocks together to make a pipeline for data processing. In this blog, we will discuss the various types of...
ASP NET Core Beyond the Introductino - Chirs Klug - NDC Oslo 2021

Chris Klogg, an expert in Microsoft platform development at a company called Active Solution, holds a talk introducing ASP.NET beyond the introduction. He explains he started in classical ASP and has ...
Build powerful distributed applications with Dapr and .NET - Rodrigo Díaz Concha - NDC Porto 2022

The session introduces Dapper, a technology for building distributed applications. The speaker emphasizes that building distributed applications is challenging due to the complex architecture and the ...
Building a microservice architecture with ASP.NET Core - Gill Cleeren - NDC London 2022

In this presentation, Joe, a Pluralsight author and consultant, discusses the building of a microservices architecture based on ASP.NET Core. He provides a brief introduction to the topic and explains...
Domain-Driven Refactoring - Jimmy Bogard - NDC Porto 2022

The presentation is on domain-driven design and how to use refactoring techniques to slowly refactor an existing code base towards an actual domain model. The speaker explains how teams new to domain-...
Functional Programming with C# - Simon Painter - NDC Porto 2022

The speaker introduces himself as having worked in various industries, including for Muller Dairies, and as being a film fan with no agenda. He then delves into the history of functional programming, ...
Ardalis.Specification
Ardalis.Specification is a base class package that includes tests and support for adding specifications to a DDD model, as well as a default generic Repository base class with support for EF6 and EF C...
Bringing Kestrel + YARP to Azure App Services
In this post, the engineering work required to change a critical platform component with code paths that are exercised billions of times a day while minimizing service disruptions and maintaining SLA ...
Sieve - Simple, Clean, and Extensible Framework for .NET Core
Sieve is a powerful sorting, filtering, and pagination framework for .NET Core that allows developers to easily create queries that can be modified by clients. It supports filtering, sorting, and pagi...
.NET 6 now available in Ubuntu 22.04 and with Chiseled Ubuntu Containers
.NET 6 is now included in Ubuntu 22.04 and can be easily installed with apt install dotnet6. Additionally, .NET 6 is available with Chiseled Ubuntu Containers, a new small and secure container offerin...
Designing a user notification system
This article discusses the implementation of an asynchronous communication mechanism that respects scalability, asynchronous communication, and statelessness requirements for utilizing user notificati...
Why you should use the Specification pattern in .NET
In this article, Anthony Trad explores the benefits of using the Specification pattern in .NET. By adhering to the Clean Architecture Principles and leveraging this pattern, developers can reduce code...