3 ms·
Swap out “framework” for “inversion of control” in your head and you might find the article more useful. It’s nice seeing these options listed out.
by travisjungroth 5y ago
Swap out “framework” for “inversion of control” in your head and you might find the article more useful. It’s nice seeing these options listed out.
- johnday 5y agoI agree - the author's use of "framework" here betrays the article a bit, and "inversion of control" is a much more accurate portrayal of what they're actually getting at. Of course this is a natural side-effect of what happens when terms are born without proper definitions. It's almost as if the author has defined "blue" as "any RGB colour where B>0", and then their first example is magenta. Yes, it's a nebulously defined concept (both "blue" and "framework"!), but this means that trying to impose a rigid definition on top is bound to fail.
- travisjungroth 5y agoI’d care more about the misnaming if it was frameworks versus anything else, but it’s not. It’s frameworks vs frameworks. You could call it X and say all the code examples are members of X and I’d find the article just as valuable. I think this is Grade A software engineering content. Here’s a thing you do sometimes, here’s seven other ways to do it with names, code examples, trade offs and real world examples. It’s great for learning because when you come across this problem in the future you have all your tools laid out for you. I also found it personally helpful because I’m visiting Python framework interface options right now. This saved me a bunch of work.
- mirekrusin 5y agoStill plenty missing, delegate a'la macOS/iOS, singleton/global/envs, explicit parameters/context object, multimethods a'la clojure/miltiple dispatch a'la julia, functors a'la ocaml, plugins/convention-based-autoloading, even monkey patching a'la RoR/active-stuff-style if a form of configruation/inversion of control, probably more.
- travisjungroth 5y agoDo a write up of all the missing patterns in the same style as this article! I’ll read it.