Design Patterns

29 Apr 2021

Previously, I have never heard of “design patterns” but after first hearing the term, I automatically thought it might be related to patterns in designs such as plaid or checker print. I thought I would be learning about UI related things to make frontend look pretty. I was wrong. This has almost nothing to do with visual designs.

At first glance, I was very confused as to what these mean and how they are implemented After a few times reviewing the different design patterns, I realized it isn’t that complicated. Each one serves to complete a task. The design patterns relate to software development and serve as a structured template or the go-to way to structure or design what is being coded. There are different types of design patterns and I assume different companies or institutions choose one of these as their base foundation to build what they are looking for and pick which out of the design patterns match better with their goals and tech stack. I would relate this to a more complex set of Legos. You need different parts to build specific things but there is no one sure way to finish what you build. Using a design pattern lays out what to use and how they are used together.

These design patterns are found everywhere in coding. In my journey learning to code, I have been exposed to these design patterns without even knowing. Most recently learning to use MongoDB, I would relate this to the Observer design pattern. The database keeps the stored data updated if and when there are changes from the client or server. Another design pattern I have learned about and used is the Model View Controller (MVC). This is very popular design pattern and is used most frequently in web development. MVC broken down is first the Model which is the database, then the View which is the frontend and the Controller that handles the interactions between the database and the frontend.