Build Software Like a Bag of Marbles, Not a Castle of LEGO • Hannes Lowette • YOW! 2022
This presentation was recorded at YOW! 2022. #GOTOcon #YOW
Hannes Lowette - Head of Learning & Development at Axxes, Monolith Advocate, Speaker & Whiskey Lover @Belenar82
RESOURCES
ABSTRACT
If you have ever played with LEGO®, you will know that adding, removing or changing features of a completed castle is not as easy as it seems. You will have to deconstruct large parts to get to where you want to be, to build it all up again afterwards. Unfortunately, our software is often built the same way. Wouldn’t it be better if our software behaved like a bag of marbles? So, you can just add, remove or replace them at will?
Most of us have taken different approaches to building software: a big monolith, a collection of services, a bus architecture, etc. But whatever your large-scale architecture is, at the granular level (a single service or host), you will probably still end up with tightly coupled code. Adding functionality means making changes to every layer, service or component involved. It gets even harder if you want to enable or disable features for certain deployments: you will need to wrap code in feature flags, write custom DB migration scripts, etc. There must be a better way!
So what if you think of functionality as loose feature assemblies? We can construct our code in such a way that adding a feature is as simple as adding the assembly to your deployment, and removing it is done by just deleting the file. We would open the door for so many scenarios!
In this talk, I will explain how to tackle the following parts of your application to achieve this goal: , Entity Framework, Onion Architecture, IoC and database migrations. And most of all when you would want to do this. Because that depends… [...]
TIMECODES
00:00 Intro
00:29 Disclaimers
02:17 Understanding the problem
07:28 The OO path to success
13:14 The problem revisited
19:20 Onion architecture
27:32 Plugins
29:29 Implementation
48:53 Conclusion
49:55 Outro
Download slides and read the full abstract here:
RECOMMENDED BOOKS
Saleem Siddiqui • Learning Test-Driven Development •
David Farley • Modern Software Engineering •
Dave Farley & Jez Humble • Continuous Delivery •
Roy Osherove • The Art of Unit Testing •
Kent Beck • Test Driven Development •
Nicole Forsgren, Jez Humble & Gene Kim • Accelerate •
#ObjectOrientedProgramming #OO #Microservices #Monolith #SoftwareArchitecture #OnionArchitecture #ASPdotNET #dotNET #SOLID #HannesLowette #Axxes
Looking for a unique learning experience?
Attend the next GOTO conference near you! Get your ticket at
Sign up for updates and specials at
SUBSCRIBE TO OUR CHANNEL - new videos posted almost daily.
1 view
0
0
8 years ago 00:03:29 44
VVVX Software - Build 307 / highpolycount
9 years ago 00:02:35 1
How we build software.
3 years ago 01:20:18 13
Build your OBJECT DETECTION SOFTWARE - Crash course | with Opencv and Python (2022)
10 years ago 00:38:28 1
Newegg TV: Small Business Server Build with Intel & Microsoft (Part 3: SOFTWARE)
4 years ago 00:02:03 4
How to build nanoparticles? CLUSTER software
6 years ago 00:08:01 158
ALEXA Smart Mirror (New Build)
6 years ago 00:07:42 665
HOW TO BUILD A SMART MIRROR
10 years ago 01:22:45 443
Building Software Systems At Google and Lessons Learned
3 years ago 00:08:01 11
WASM + React... Easily build video editing software with JS & FFmpeg
2 years ago 00:40:30 1
Zig Build System & How to Build Software From Source • Andrew Kelley • GOTO 2023
7 years ago 00:11:09 6
How To Build a Software Company With No Money | Dan Martell
10 months ago 00:25:08 0
Spooky Eyes firmware (Software) Build and install, from the start
3 years ago 00:15:18 0
How To Build Quality Software Fast • Dave Farley • GOTO 2022
9 years ago 00:09:24 23
DOOM SnapMap Monday : Building Horror maps with id Software Part 2
10 years ago 01:09:03 2
Let’s Go Further: Build Concurrent Software using the Go Programming Language
7 years ago 00:10:51 12
Arm Cortex-M FPGA DesignStart: STEP 4 Compile software and build new bitstream
5 years ago 00:14:26 0
TerreSculptor -- Awesome & Free World Building Software!
6 years ago 00:47:39 0
How to build solid CI-CD pipeline / Илья Беда ()
10 years ago 00:08:48 4
How to build an LED Display, #2 Setting up the programming software
6 years ago 00:02:39 107
Steel Connections | Dlubal Software
9 years ago 00:10:51 74
SiNi Software - SiClone 3DS Max Plugin Overview
4 years ago 00:10:07 0
instabank software
6 years ago 00:29:11 0
What on earth does it mean to build AI software? | Ronald Ashri | #LeadDevLondon
8 years ago 00:02:31 20
Oasys Software - MassMotion, The World’s Most Advanced Crowd Simulation Software