Hypothetically, let’s assume that someone is forgetful and is always forgetting something to grab when leaving the house, oops you forgot your phone, then you go back to grab it only to forget your wallet, so you head back inside and now you’ve forgotten your keys. Well now you’re locked outside but at least you have your wallet and phone! With design patterns the only thing that you can forget is all of your problems, with our solutions that can solve all of your needs and problems. Keeping everything in one organized place would solve all one’s worries of having a messy house, losing track of where you put things, and most importantly forgetting things in the house will no longer be an issue! A reusable solution that solves most of life’s common problems, that’s what design patterns strive to obtain.
Design patterns aren’t some magic spray that can kill all of a programmer’s bugs and issues, why would we want that? Programmer’s love suffering and pain, but we don’t like when programmers are happy so design patterns alleviate all of that stress on them with quick and reusable solutions to common problems that they may encounter, not only that they’re flexible such that it makes it easy to modify and personalize to fit one’s code without having a major impact on the rest of the project. And finally it’s helpful because it establishes a common vocabulary among developers allowing easier communication and teamwork within a project.
Personally, there has been a lot of usage in proxy patterns, especially with the recent modules of abusing mongo shell and schema’s. Honestly, it makes my life so much easier changing names and descriptions of my “people”. A lot of these patterns actually go hand in hand with one another, prototype patterns paired up with Factory patterns make creating and modifying people really easy. A lot of recent projects have revolved around creating profiles for people, and modifying their descriptions, and I’ve been learning how to implement design patterns without even realizing it! Whether that’s a good or bad thing? I couldn’t tell you, but it’s useful and I’d say that’s good enough for me.