Alexej Sommer

Architectures that we can use with .NET

What's the real difference between Hexagonal, Onion, and Clean Architecture? Learn how to choose the right pattern for your next .NET application.

Architectures that we can use with .NET
#1about 2 minutes

The role of an architect and the need for architecture

Good software architecture is essential for creating replaceable, testable, and stable solutions that are easy for new developers to understand.

#2about 1 minute

Understanding the classic layered architecture pattern

The layered architecture, common in legacy systems, separates concerns effectively but often leads to repetitive code across its different layers.

#3about 2 minutes

Exploring data context interaction and the east coast approach

The Data Context Interaction (DCI) architecture focuses on sequences of tasks and introduces the "East Coast approach" where data objects contain their own operational logic.

#4about 2 minutes

The boundary control entity (BCE) architecture pattern

The BCE pattern, a precursor to Clean Architecture, organizes logic around entities with behavior, boundaries for interfaces, and controls that act as use cases.

#5about 3 minutes

Comparing hexagonal (ports & adapters) and onion architectures

Both hexagonal and onion architectures isolate the application core from external dependencies like databases and UI, with onion architecture adding more explicit internal layers.

#6about 1 minute

Enforcing boundaries with dependency injection and assembly attributes

Use a separate dependency injection project and the `InternalsVisibleTo` attribute to prevent the UI from directly referencing and using the infrastructure layer.

#7about 1 minute

Using command query responsibility segregation (CQRS) selectively

Command Query Responsibility Segregation (CQRS) is a powerful pattern that should be applied only to specific, complex portions of a system, not universally.

#8about 5 minutes

Deconstructing Robert C. Martin's clean architecture

Clean architecture combines principles from hexagonal patterns with screaming architecture and domain-driven design, using presenters to format data for the view.

#9about 1 minute

Microsoft's interpretation and templates for clean architecture

Microsoft's official guidance on clean architecture aligns closely with the onion architecture, emphasizing dependency inversion without the complex interactor-presenter flow.

#10about 1 minute

Using aspect-oriented programming for cross-cutting concerns

Aspect-oriented programming (AOP) allows you to centralize cross-cutting concerns like logging and security using tools like middleware, filters, or interceptors.

#11about 1 minute

Implementing a microkernel architecture with runtime plugins

The microkernel (or plugin) architecture allows for loading and unloading application features at runtime using .NET's `AssemblyLoadContext`.

#12about 2 minutes

Understanding the principles of reactive architecture

Reactive architectures are designed to be responsive, resilient, elastic, and message-driven, enabling systems that can handle failures and varying loads gracefully.

#13about 3 minutes

Solving concurrency challenges with the actor model

The actor model provides a robust framework for building concurrent and fault-tolerant systems by using isolated actors that communicate via messages and are managed by supervisors.

Related jobs
Jobs that call for the skills explored in this talk.

Featured Partners

Related Articles

View all articles
CH
Chris Heilmann
With AIs wide open - WeAreDevelopers at All Things Open 2025
Last week our VP of Developer Relations, Chris Heilmann, flew to Raleigh, North Carolina to present at All Things Open . An excellent event he had spoken at a few times in the past and this being the “Lucky 13” edition, he didn’t hesitate to come and...
With AIs wide open - WeAreDevelopers at All Things Open 2025
BB
Benedikt Bischof
Why You Shouldn’t Build a Microservice Architecture
Welcome to this issue of the WeAreDevelopers Live Talk series. This article recaps an interesting talk by Michael Eisenbart who talks about the pros and cons of microservice architecture.‍About the speaker:‍Michael has been working for Bosch as a sof...
Why You Shouldn’t Build a Microservice Architecture
CH
Chris Heilmann
All the videos of Halfstack London 2024!
Last month was Halfstack London, a conference about the web, JavaScript and half a dozen other things. We were there to deliver a talk, but also to record all the sessions and we're happy to share them with you. It took a bit as we had to wait for th...
All the videos of Halfstack London 2024!

From learning to earning

Jobs that call for the skills explored in this talk.