
If you’re trying to get a job in the coding industry, you might someday make it big. You might send out random job applications and suddenly google has scheduled an interview with you. After staying up all night practicing leet code problems and reviewing data structures, the interviewer hits you with the question, “What are design patterns?” If you’re inexperienced, you might be cooked, but if you’ve researched the basics, you’ll know the answer. Design Patterns are taking reusable solutions and applying them to commonly found problems.
While design patterns sound like a big scary relative of data structures, it’s actually quite simple. It’s kind of like when you have a specific issue and google a question for a reddit thread from 11 years ago to become your savior. In this case, the reddit thread provides the reusable solutions that are applicable to your problem, that many others have probably had in the past. Within computer science, there are tons of commonly occurring issues that have multiple usable template solutions available.
Design patterns are extremely useful for projects. While I didn’t know about them before, I was able to learn how to utilize design patterns to create a working website for the University of Hawaii community that not only helps users find recyclable locations, but also helps inform and track users on their recycling practices.
In this project, I used the component pattern. This was used in the form of card, navbar, form, etc. to make an aesthetically pleasing website that is easy to navigate. Another pattern I used was the Model View Controller (MVC) pattern that separates the website into a model, viewer, and controller. The model manages the database, including adding and editing objects. The viewer handles what is displayed to users. Finally, the controller acts as a medium between the viewer and model.
Without design patterns, my final project would’ve been nearly impossible to fully realise within the given time period. However, by using resources to solve the commonly found issues in my project, I was able to create a working website with 4 other classmates.