In life, there are many difficult and confusing tasks we might have to overcome to move forward and succeed. Many things exist to help us in the process of conquering obstacles. One example of those things is design patterns. Design patterns are useful tools in life because they provide us with the core of the solution to a repeatable problem, in which this solution can be used many times as a stepping stool to solve this problem. In coding, design patterns are useful since most of the time, the same issues repeat, and design patterns are there to help solve those issues easier for yourself and others. And of course, all things in life have some sort of flaw, and design patterns do too, but the benefits can outweigh the flaws.
One of my favorite hobbies is to play online video games. One thing that I suffer greatly is consistency since if I don’t play a certain game for a while, I lose all the progress and muscle memory attached to the gameplay. This is where design patterns help me solve this issue of the loss of skill. Warming up my skills by doing a certain routine every time before I play games helps to elevate my skills a lot more than when I don’t do the routine. For example, if I warm up by going into a training range before going into a match would help my issue of being rusty or out of shape, while not performing the warm-up will take a hit on my performance. This “design pattern” is used by a lot of gamers and even pro gamers since it has proven to help with inconsistency and warming up your skills.
Since I am a Computer Science major, of course, I will have many coding assignments throughout my college years. This means that I will encounter the same issues many times, and being able to solve those issues repeatedly without trouble will help me out a lot. Design patterns help me with my coding because, without them, I might not be able to code as efficiently as I can. Design patterns help save me a lot of time since there are many issues I encounter that others have already, in which their solutions come in handy for me. I am currently creating a user interface website, and one particular design pattern I use is Model-View-Controller. It is useful to have this design pattern since I am working with three other people on this project, and we can utilize Model-View-Controller efficiently between the four of us. Although there is a high learning curve, it is still useful to have since we might not be able to code as easily and smoothly without it.