This talk was first given at Techmeetup Glasgow, on January 27th 2016.
The slides are available in the original Markdown format (hexagonal-ds.md), which can be opened using Deckset. As the theme isn't preserved, I used the "Next" theme with the blue-on-gray colouring (currently the second choice in that theme).
I've expanded the speaker notes from the original short note form to (still short) sentences explaining the ideas more fully.
If you don't have access to Deckset but still want the visuals alongside the notes, I've exported the slides as a PDF.
I'm also including the further reading and acknowledgements below, for your convenience.
Architecture. Tests. Design. These sound like three separate aspects of your applications, but really they're all entwined.
- You'll learn how to design applications that are easy to maintain and change.
- You'll find out how your testing strategy and architecture strategy can and should be entwined.
- You'll leave knowing how to structure your code better, at every level.
- Add in parts to explain cross cutting domain entities vs bounded context entities
- Possibly talk a little about DDD and bounded contexts
- Relate to Dependency Inversion Principle
- Talk about leaky abstractions and performance. Doesn't matter for most, possibly destructure once an area is proven to be an issue
- Explain how to apply to legacy systems (branch by abstraction)
- Cross-cutting concerns like Transactions
- Wiring hexagons and adapters together using DI i.e. build flexibly, bind late
- Convince other people to structure and separate, rather than that initial velocity boost you get from Rails/Spring Boot etc. -> Remind them of past pain. Possibly start with Rails/Boot but have triggers for structuring.
- Hexagonal Architecture by Alistair Cockburn
- Architecture, The Lost Years by "Uncle" Bob Martin
- Software is an Engineering Discipline by Glenn Vanderburg
- CodeCraft logo by Gary Fleming (copyright CodeCraft)
- Super Hexagon by Terry Cavanagh, CC-BY-SA-3.0
- Entanglement, Simon Brass, CC-BY-SA-2.0
- Nice Port by Myrabella Photo: Myrabella / Wikimedia Commons / CC-BY-SA-3.0 & GFDL
- Rainer Knäpper, Adapter DVI to VGA, 15/05/06. Free Art License
- Mark Schellhase, Old Chain, CC-BY-SA-3.0-Unported