fsteeg.com | notes | tags
∞ /notes/more-self-containedness-less-code-sharing | 2015-12-18 | architecture programming
Cross-posted to: https://fsteeg.wordpress.com/2015/12/18/more-self-containedness-less-code-sharing/There's this idea I've been encountering in different forms, that I really think is good. Here are some links on that. I think it was at the Javaland conference in early 2014, I believe in Stefan Tilkov's talk, that I first heard of not building for reuse, but building for replacement. The idea is to have modules that can be easily replaced with better or different versions, instead of many interdependent modules effectively forming one big entangled system. Martin Fowler has a great description of an architecture with a similar goal.
It's one of these cases where what seems to be conventional programming wisdom is turned upside down: we all learn reuse is good, we think reuse is the way to modular software. It's not always true.
"Don't use layers as top level modules in a complex application, instead make your top level modules be full-stack." http://t.co/gSdh0ugjDG— Fabian Steeg (@fsteeg) August 29, 2015
We think we're future proofing software by lots of reuse and abstraction, but we're doing it wrong. We need to take advantage of what software is like, and make it easy to change.
"Prefer duplication over the wrong abstraction." http://t.co/MbjSZzUKUy— Computer Science (@CompSciFact) August 27, 2015
To close the circle, Stafan Tilkov recently posted a great description of the architecture mentioned above, giving it a new name: Self-Contained Systems. Part of these Self-Contained Systems is that to avoid tight coupling, they share no business code.
Future proofing software - we're doing it wrong (Part 1):https://t.co/A3azRqDiQV— Christin Gorman (@ChristinGorman) October 24, 2015
At hbz, we're trying to build our software according to these ideas.
We’ve set up a website for “self-contained systems”, our preferred variant of the #microservices approach: https://t.co/rfScSyIxC0 #scsarch— Stefan Tilkov (@stilkov) December 10, 2015