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.
YOU MAY ALSO LIKE:
- Event Driven Collaboration (SkillsCast recorded in May 2019)
- Functional Concurrency in .NET with C# and F# with Riccardo Terrell (Online Course on 28th June - 1st July 2021)
- Machine Learning Made Easy with ML.NET and F# (SkillsCast recorded in October 2020)
- Nagareyama: a new Fable, faster, more powerful and easier to use (SkillsCast recorded in October 2020)
Decoupling from ASP.NET - Hexagonal Architectures in .NET
Polyglot Coding Architect in London, founder of #ldnug, speaker, tabletop gamer, geek. Tattooed, pierced, and bearded. The 'guv' on @BrighterCommand