
In everyday life, we follow many unwritten rules—saying “thank you,” waiting our turn, softening requests, not because someone forces us to, but because these shared patterns make interactions smoother. I think that Design patterns in software serve the same purpose. They are not rigid laws but social etiquette for code: reusable, time-tested ways of handling recurring situations so developers don’t have to improvise every interaction from scratch. Without them, a codebase becomes an awkward conversation where components shout over each other and nothing feels consistent. With them, systems behave in a way that we expect.
In my final project, these etiquette like patterns quietly shape how everything works together. The navigation bar updates instantly when a user signs in because components listen respectfully for authentication changes, just as people adjust based on social cues. Our Prisma functions follow a Repository-style pattern, providing one polite, standardized way to “request data” instead of barging into the kitchen with raw SQL. These patterns make the codebase feel not just functional but civilized, a community of components interacting with the same unspoken manners that help humans navigate both worlds.