this post was submitted on 08 Jul 2023
571 points (97.2% liked)

Programmer Humor

19522 readers
250 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 1 year ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] dreugeworst@lemmy.ml 1 points 1 year ago

I think the main reason OOP has a well-known term and pattern for dependency injection is to differentiate these two (out of multiple) options:

  • the constructor of my object creates other objects it depends on itself
  • I construct the dependencies of my object elsewhere and pass them in to the constructor and use an interface to make it easy to swap behaviour

However, this becomes less of a pattern in functional programming as you wouldn't make such objects to begin with. In FP, you pass all parameters where a function is invoked, and DI just becomes using generic parameters. You wouldn't instantiate a dependency on each function call after all.

As this is such a minor change, it's not really talked about much and it's not really a pattern,