Decoupling from ASP.NET - Hexagonal Architectures in .NET

23rd September 2014 in London at Skills Matter

This SkillsCast was filmed at Decoupling from ASP.NET - Hexagonal Architectures in .NET

Join .Net community hero Ian Cooper for an intensive exploration of hexagonal architecture.

The term 'hexagonal architecture' has come back and forth in popularity since Alistair Cockburn first mooted it, with the Rails community's recent soul searching over its importance or threat just the latest. So what is a hexagonal architecture, why might you want to use one, and why is the 'Rails just falls away' threat so discomforting to web framework builders. How can we make 'ASP.NET just fall away'.

In this presentation we will look at the Layered Architectural style - when we would want to use one (as opposed to the alternatives) and when it is appropriate how to implement one. We will look at how to implement the Ports & Adapters (Hexagonal's 'proper' name) style, explaining what the different layers are.

We will look at the value the command pattern for implementing our ports , explain why Netflix uses it in Hystrix for reliability. On the way we will discuss Retry, Timeout and Circuit Breaker and explain how we can do better than Hystrix with a Command Dispatcher and Command Processor. We'll show code throughout, including a look at the Paramore. Brighter framework, an OSS version of the platform we use at Huddle to build this kind of architecture.

As a bonus we will round off showing you how easy it is go from sync to async with this approach.


Decoupling from ASP.NET - Hexagonal Architectures in .NET

Ian Cooper

Ian Cooper has over 20 years of experience delivering Microsoft platform solutions in government, healthcare, and finance. When he is not writing C# code he is also the and founder of the London .NET user group.