← Back to context

Comment by embedding-shape

10 hours ago

The scope of where that data structure or functions are available is a different concern though, "100 functions + 1 data structure" doesn't require globals or private, it's a separate thing.

One can always look as global variables equivalent to a context object that’s is passed in every function. It’s just a syntactic difference whether one constructs such data structure or uses it implicitly via globals.

What I am getting at is that when one has such gigantic data structure there is no separation of concerns.

  • Does one need one's separation of concerns if one's concerns shouldn't be separated in the in the first place?

    Anytime one has access to a database one has access to one large global data structure that one can access from anywhere is a program.

    This same concept goes for one's global state in one's game if one is making a game.

    • Separation of concerns is still a valid paradigm with a single global datastructure like GUI, Microservice, Database and etc. In such situation one can still seperate concerns via composing the global datastructure from a smaller units and define methods with respect to thoose smaller units. In that way one does not need to wonder whether there are some unattended side effects when calling a function that mutates the state.

      3 replies →