The State Pattern Trap: Why GoF Is Not Always the Best Choice
Have you ever tried to use the classic Gang of Four (GoF) State Pattern in real code? You might have hit a wall. You might have thought, "Wait, this…
Tech news from the best sources
Have you ever tried to use the classic Gang of Four (GoF) State Pattern in real code? You might have hit a wall. You might have thought, "Wait, this…
By now, we've reached an important milestone in this series. We've learned that: SOLID principles help us design maintainable components. Software k…
"If you remember only one thing from this series, let it be this: data structures are tools for expressing business behavior—not trophies to demonst…
"Experienced engineers don't start with data structures. They start with business behavior." Throughout this series, we've explored several fundamen…
"Not every software problem is about finding one object. Sometimes the real challenge is understanding how multiple objects are connected." So far i…
"Experienced engineers don't recognize a Trie because someone mentions search. They recognize it because the business revolves around discovering va…
"Not every software problem asks, 'Can you find this exact value?' Sometimes the real question is, 'What starts like this?'" So far in this series,…
"A Queue is a powerful design tool—but only when it solves the right problem." Throughout this mini-series, we've learned: why some work shouldn't h…
"The best software engineers don't recognize Queues by memorizing examples. They recognize the behavior that makes a Queue the right design choice."…
"Once you understand the behavior a Heap solves, you'll start noticing it everywhere." In the previous article, we learned how to recognize Heap pro…
"Experienced engineers don't memorize data structures—they recognize patterns." By now, we've learned: what a Heap is, why it exists, and why engine…
"A HashMap helps you find what you already know. A Heap helps you decide what should happen next." In the previous article, we discovered that not e…
"Finding something quickly and finding the best thing quickly are two completely different engineering problems." So far in this series, we've explo…
"A HashMap is not valuable because it is fast. It is valuable because it makes the right things fast." In the previous articles, we built our unders…
"A HashMap feels fast not because computers became magically faster. It feels fast because the design avoids doing unnecessary work." In the previou…
"The real magic of a HashMap isn't that it stores data. It's that it knows where to start looking." In the previous article, we learned that a HashM…
"The biggest challenge in large software systems isn't storing information. It's finding the right information instantly." By now we've established…
"The best software engineers don't begin by choosing data structures. They begin by understanding what the system needs to do." In the previous arti…
After going through entities, invariants, state machines, aggregates, bounded contexts, and full systems like Ride Sharing, BookMyShow, and Amazon C…
This is the final consolidation of everything in Domain Modeling. If you understand this structure deeply, you don’t need to memorize LLD patterns a…
One thing beginner LLD tutorials rarely show is this: real systems never stay in their “initial design”. They evolve constantly: new features get ad…
Up to now, domain modeling may feel like the answer to everything: entities aggregates invariants bounded contexts state machines But strong enginee…
In the previous posts, we learned about: Entities Value Objects These help us model the business world. But a question still remains: Why do these o…