Why Design Patterns Are Actually Useful

24 Apr 2025

Introduction

Being a CS at UH Manoa, I’ve just started to realize how useful design patterns can be. I first heard about them in my algorithms class, but to me at the time they seemed like these overly specific techniques that only applied to perfect-case scenarios. They didn’t seem like practical tools I could use in my projects. But after working on many problems, WODs, and projects in my ICS 314 class, I’ve genuinely realized how patterns can make development feel more structured, manageable, and even enjoyable.

Application of Design Patterns Diagram

Consistency That Helps the Whole Team

One of the most significant benefits of using design patterns is consistency. When a whole team follows the same structure, the codebase becomes easier to navigate. It’s like walking into a kitchen where everything is labeled and organized; you don’t have to search too long to find what you need. Whether it’s a new developer jumping into the code or me returning to an old file, familiar patterns when coding make the experience easier and, most importantly, quicker.

Makes Projects More Maintainable, Not Just “Scalable”

People always talk about scalability, but for me, the best part of design patterns is maintainability. When you’re a software engineer, most of the work isn’t just creating new code, but also maintaining existing code. When my code is built around a known pattern, it’s easier to visit it weeks later and still understand what’s going on. As projects grow and features get added, patterns help keep everything from falling apart. They’re like the frame that holds the app together when it gets more complex.

Saves Time (And Brainpower)

Using a familiar pattern means I don’t have to start from scratch every time. I already know what kind of structure might work, and that saves time and prevents mistakes—especially during high-pressure coding sessions like our WODs. Instead of second-guessing every architectural decision, I can lean on what I’ve seen work before.

Design Pattern Categories

Reframing My Perspective: Final Thoughts

Looking back, I used to underestimate the usefulness of design patterns. I thought they were only for super advanced apps or particular situations. But now, I see them as problem-solving shortcuts that help with everyday tasks. Whether I’m using React Context to clean up props or applying MVC to keep things separated, these patterns make my code easier to build and understand.

Even when I’m not consciously applying a specific pattern by name, I realize I’ve absorbed a lot of them into how I code. And when I see someone else’s work and recognize a familiar pattern, it gives me confidence to dive in and contribute.

Design patterns aren’t just theory from a textbook, they’re tools that make me a better coder. I just wish I had started using them earlier.

ChatGPT used to improve the grammar and potentially redundant segments