Design patterns are general solutions to general problems that software developers faced during development. They are generally repeatable solutions to a problem that frequently occurs in software designs. It is a description or template for how to solve a problem that can be used in many different situations that other developers or yourself can use to write the actual code for your program. Using design patterns can help speed up the development process, and make the overall system easier to understand and maintain.
In one of my projects called Meow Mapper, design patterns are utilized. Meow Mapper is a project created by 3 other people and myself. It is a web application where users can go on to look at pictures of cats, find out where cats can be located on the UH Manoa campus, as well as upload pictures of cats and their locations on campus. Meow Mappers uses cards to represent cats. Each card contains the cat’s name, location, description, and the name of the person who marked the cat. The cards were created in one of our tabs called “Snatch A Cat”. The card’s design patterns were then later used in our other tab “Cat Snaps”.
When we wrote the cards for “Snatch A Cat”, it took a very long time and a lot of brainpower. We first had to figure out the format of how we wanted our card to look like as well as the functionality. We then had to research and think about what kind of codes we need and how to write it. This took hours and it was very stressful for all of us. When we wrote our “Cat Snaps” code, however, it was a lot easier to do because we already had the basis for it from our “Snatch A Cat” code. At that point, all we had to do was copy and paste, and change certain parts to fit the intentions of “Cat Snaps”. Overall, having a design pattern greatly reduced the amount of manual labor for our group during this project.