© 2026 Hashnode
I recently started learning about design patterns from Head First Design Patterns. The book primarily focuses on object-oriented design patterns and uses Java for most of its examples. While going through it, I thought—why not try to replicate these ...

In Part 1 of this series, we built the foundation of an event-driven notification system in NestJS. Events are emitted, jobs are queued with BullMQ, and workers process them in the background. That gave us a clean and fast system, where sending a not...

When building software, you want your code to be flexible and easy to extend without disrupting the existing logic. The Open-Closed Principle (OCP)—part of the SOLID principles—helps with exactly that. It says your code should be “open for extension ...

The Strategy pattern lets you define a family of algorithms, encapsulate each one, and make them interchangeable. It enables selecting an algorithm at runtime, promoting flexibility and adherence to SOLID principles. Understanding the Class Diagram ...
