What's the real difference between Hexagonal, Onion, and Clean Architecture? Learn how to choose the right pattern for your next .NET application.
#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.
Matching moments
02:08 MIN
Structuring applications with clean architecture
Typed Security: Preventing Vulnerabilities By Design
03:12 MIN
Applying key architectural patterns for modernization
Enhancing Developer Experience During Architecture Modernization
02:46 MIN
Understanding critical architectural trade-offs and anti-patterns
Azure-Well Architected Framework - designing mission critical workloads in practice
03:09 MIN
Understanding the multiple layers of enterprise architecture
We (don't) need a software architect!?!
02:50 MIN
Architectural strategies for enterprise frontend applications
Client-Side State Management Reimagined – Think Outside the Box
05:54 MIN
Structuring the application with a layered architecture
Modulith Instead of Monolith - Pragmatically Towards Microservices
00:59 MIN
Summary of architecture for scalable trading platforms
Microservices architecture as a key element in building trading systems for global finance markets
03:31 MIN
Q&A on architecture careers and cloud best practices
Why You Shouldn’t Build a Microservice ArchitectureWelcome 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...
Chris Heilmann
Micro Components - a different approach to a simpler component-based webThere has been a lot of heated discussion lately in the web community about component based development. One side argued that Web Components are a standard we should follow whereas others complained that they still lag behind in what frameworks offer...
11 Tips to Make The Most Out of Your First World Congress The world’s most awesome event for developers is taking place in less than a month! It’s been far too long since the last time we met in person, but that’s only going to make this year’s WeAreDevelopers World Congress a truly special experience. Conf...
From learning to earning
Jobs that call for the skills explored in this talk.