Skip to content

Sponsor: Do you build complex software systems? See how NServiceBus makes it easier to design, build, and manage software systems that use message queues to achieve loose coupling. Get started for free.

Learn more about Software Architecture & Design.
Join thousands of developers getting weekly updates to increase your understanding of software architecture and design concepts.


Follow @CodeOpinion

Derek Comartin

Why use DTOs (Data Transfer Objects)?

Should you really use DTOs (Data Transfer Objects)? Seem like a lot of work mapping your database entities to another object? Why Bother? The simple answer is coupling. Data Transfer Objects First, what are DTOs? When people refer to Data Transfer Objects, what they mean are objects that represent data structures that generally do not contain any business logic or behavior. If they do contain behavior, it’s generally trivial. Data Transfer Objects are often used to be serialized by the producer and then deserialized by the consumer. Often times these consumers may live in another process being used by an… Read More »Why use DTOs (Data Transfer Objects)?

.NET Portability Analyzer

In order to migrate your application from .NET Framework to .NET Core, one part of the migration is making sure your existing code that targets the .NET Framework BCL (Base Class Library) also works with the .NET Core BCL. This is where the .NET Portability Analyzer comes in. Migrating from .NET Framework to .NET Core This post is in a blog series for migrating from .NET Framework to .NET Core. Here’ are some earlier post if you need to catch up: Migrating from .NET Framework to .NET Core Overview Migrating to ASP.NET Core Multi-Targeted NuGet Package Gotchas! NuGet Package Alternatives… Read More ».NET Portability Analyzer

Roundup #71: C# Source Generators, MsQuic, CoreBoy, Channels

Introducing C# Source Generators We’re pleased to introduce the first preview of Source Generators, a new C# compiler feature that lets C# developers inspect user code and generate new C# source files that can be added to a compilation. This is done via a new kind of component that we’re calling a Source Generator. Link: https://devblogs.microsoft.com/dotnet/introducing-c-source-generators/ MsQuic is Open Source Microsoft is open sourcing our QUIC library, MsQuic, on GitHub under an MIT license. MsQuic is a cross-platform, general-purpose library that implements the QUIC transport protocol. QUIC is being standardized by the Internet Engineering Task Force (IETF). MsQuic is a client and server solution optimized for… Read More »Roundup #71: C# Source Generators, MsQuic, CoreBoy, Channels