Hacker News new | ask | show | jobs
by abritinthebay 3083 days ago
Surely that’s abstraction rather than indirection?

Maybe you’re using it in a different context than I’m used to but I don’t see anything indirect about “call function that passes it’s result to another that updates the data”.

Sure it’s not “update state directly” but that would make every pattern “indirect” which makes little sense.

What you’re describing would make any MVP, pubsub, or observable system indirect. If so, well, fine - fair enough - but it still makes OPs complaint strange.

(Thanks for all your work btw)

1 comments

Yeah, I'd agree that pubsub _is_ a form of indirection in and of itself.

For comparison:

    state.counter += 1;
vs

    store.dispatch({type : "INCREMENT_COUNTER"});

    // counter slice reducer
    case "INCREMENT_COUNTER" : return state + 1;
That's indirection, because we're no longer going in and modifying the state right there. So yes, any function call that encapsulates or abstracts behavior would be a small form of indirection, and the act of describing the event or desired update as an action rather than directly implementing it is definitely a form of indirection.
Well yes, ok, but as you said - that makes function calls technically indirection.

So, as before, sure - that's fine, but it makes the original criticism a bit... strange.