Software patterns and their contexts, a thread:pic.twitter.com/WUKFvyapfi
-
-
When we talk about software patterns, we spend most of our time discussing the _technical_ contexts they make sense in. Building an API? Use the gateway pattern! Extracting functionality from a monolith? Use the strangler pattern! Etc etc etc.
2 replies 1 retweet 15 likesShow this thread -
In addition to its technical contexts, though, every pattern also has a set of _organizational_ contexts that it makes sense in - and these are usually implicit in our discussions.
1 reply 7 retweets 19 likesShow this thread -
But these organizational contexts are what separate use from overuse, when it comes to patterns. Ever work on a project where it felt like the team used the Gang of Four book like a checklist? That’s a team that misunderstood the appropriate organizational context for patterns.
1 reply 3 retweets 24 likesShow this thread -
Misjudging the appropriate organizational context for a pattern can be a lot more subtle, though. For example - no startup with all the engineers working together ever needs microservices.
1 reply 5 retweets 35 likesShow this thread -
For the same reason, no small company should be using web components. They exist to solve big company organizational problems.
6 replies 3 retweets 22 likesShow this thread -
The same patterns apply, whether we’re talking about object-oriented design, service architectures, container orchestration, or refactoring entire systems. Technical contexts are fractal. But the _organizational_ contexts are different at every level of detail.
2 replies 1 retweet 14 likesShow this thread -
Replying to @sarahmei
My ears have perked up. Is there any reason not to write things in a limited surface area message-passing way? (You know, like microservices without the orchestration, discovery or networking complexity.)
1 reply 0 retweets 0 likes -
Replying to @artiegold
Not sure exactly what you’re asking, but levels of abstraction are never free. They create mental overhead to understanding control flow. Hopefully they pay it back in improving findability, extension, and reuse, but tbh in many cases they don’t.
1 reply 0 retweets 1 like -
Replying to @sarahmei @artiegold
See also: the wrong set of small objects is worse than a long procedure. (A
@sandimetz truism.) At least with a list of instructions you can tell what’s happening ¯\_(ツ)_/¯1 reply 0 retweets 0 likes
Reasonable to be sure. I'm just always looking at monoliths that seem so conceptually spread out that contexts are just too wide and deep; they often seem woven.
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.