Ask HN: Software with tiered dependencies – A reliant on B reliant on C
Therefore, the hierarchy is C->B->A.
Currently, all of these components are in active development and are having major changes made. Changing anything in A is requiring adapting of code in B which in turn requires adapting of code in C. Changing B requires modification of A.
My question is if anybody has advice on how to avoid this and to some degree mitigate the issue to make development of "B" and "A" easier without breaking upstream components.
In my specific situation, the actual components are "C" = an object/model handling class, "B" = an abstract version of that class with common functions for all the models, "A" = a database handler. So I hope you see how changing A or B requires rewrites of C and/or B.