It depends whether you want your dependencies explicitly declared at each step and build-verified or implicitly located and fetched by the last mile that uses them. The former is verbose but transparent, the latter supports cross-cutting without altering intermediate API surfaces but the nature of those dependencies has to be carefully considered, especially around defaults.
Adam Powell
04/23/2021, 1:29 PM
For the purposes of this discussion, CompositionLocal is a service locator mechanism and all of the associated community discussion around DI vs. service locators applies
Adam Powell
04/23/2021, 1:31 PM
The whole thing can more or less be summarized by, "haha service locator go brrr"