• 0 Posts
  • 323 Comments
Joined 1 year ago
cake
Cake day: June 1st, 2023

help-circle
















  • Consider the following: You have a class A that has a few dependencies it needs. The dependencies B and C never change, but D will generally be different for each time the class needs to be used. You also happen to be using dependency injection in this case. You could either:

    • Inject the dependencies B and C for any call site where you need an instance of A and have a given D, or
    • Create an AFactory, which depends on B and C, having a method create with a parameter D returning A, and then inject that for all call sites where you have a given D.

    This is a stripped example, but one I personally have both seen and productively used frequently at work.

    In this case the AFactory could practically be renamed PartialA and be functionally the same thing.

    You could also imagine a factory that returns different implementations of a given interface based on either static (B and C in the previous example) or dynamic dependencies (D in the previous example).



  • That doesn’t really seem to be a particularly useful study. You could probably find the exact same thing by selecting for owners of very expensive bicycles, but you would be proving exactly the same thing (which is nothing at all).

    A more reasonable approach would be to split into cohorts of different levels of wealth and then compare internally between those cohorts, to see the difference in emissions of an EV owner/transit rider/biker/ICE owner is.

    My gut feeling says that we’d find them ranked on the following order, from lowest emissions to highest:

    1. Biker
    2. Transit rider
    3. EV owner
    4. ICE owner

    It would be interesting to check whether that gut feeling holds in real life, and particularly how much the groups differ on a per-cohort basis.