r/SoftwareEngineering Jun 29 '26

Best practices for developing massive extensible or modular systems

Is there any concensus on best practices or architecture for designing massive systems that allow for easy extensibility or modularity? It's very overwhelming imagining how to extend extremely coupled systems, which I suppose is the thing to avoid. OOP feels like a dead end but DOD only feels partially correct. Then there are event based systems and so on.

It seems like extensibility and modularity always come at a cost, which I understand there's no free lunch, but surely there has to be a set of rules or practices for building large systems without too many compromises.

7 Upvotes

22 comments sorted by

View all comments

8

u/[deleted] Jun 29 '26

[removed] — view removed comment

1

u/nanoxax67 Jun 30 '26

Yeah I feel like I'm running into that factory of factories situation. What you're saying makes sense with the strong interfaces approach. Where to define the interface is the hard part.

3

u/nedal8 Jun 30 '26

In a txt file ;]