Let's say you have a library StuffDoer
which calls an external library MagicWizard
to do its stuff. Then you add a reference to StuffDoer
in UsefulApp
.
In some scenarios, referencing StuffDoer
requires UsefulApp
to reference MagicWizard
directly (it "leaks"), while in some scenarios, it does not. I think in .NET it depends on whether or not the public API of StuffDoer
makes reference to MagicWizard
's types, or if they are only referenced in private code?
So my question is, what do you call the reference in these scenarios?
I've been thinking some good names for the type of reference that "leaks" might be "transitive reference" or "external reference". And some good names for the type of reference that doesn't "leak" might be "nontransitive reference" or "internal reference".
Are there established terms to describe these types of references? I'd like to be on the same page as everyone else, of course! 🙂