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. according to these ideas.
Future proofing software - we're doing it wrong (Part 1):https://t.co/A3azRqDiQV— Christin Gorman (@ChristinGorman) October 24, 2015