I'm just curious. Are you using any design patterns when you're developing? If yes, what is your favorite? Could you recommend some? What's the cons and pros?
Thinking about it in this way is the wrong way to go about it; you're doing it backwards. Getting recommendations on what design patterns to use before defining a problem is like asking what ingredients do you need before knowing the recipe. You need to fit the pattern to the problem space, not the other way around.
That out of the way, here's a decent introduction to a few common patterns that's pretty good: https://medium.com/front-end-weekly/javascript-design-patterns-ed9d4c144c81
My advice is to give that a read up, understand why the patterns work, and then you'll be equipped to determine where they fit in your own projects.
Thanks Peter - I think this is great advice and I will circle back around to this point. HOWEVER - my read on this post is that he is making a reference to design patterns like a UX designer would create, which is completely different than a software design pattern. Please correct me if I am wrong. Unfortunately the wording and naming convention for these concepts opens the door for ambiguity.
Back to your advice though - I think it actually still applies, although maybe not for the intended reasons. UX design should also take into consideration a problem or goal the content is solving for a user, and this information should guide the process of creating a design pattern. Using a pre-made design system solves only a very superficial level of making your frontend look professional, and UX designers have to go much deeper into thinking through these processes. I will omit the part where I link to a fully detailed description of what a UX researcher does... and my goal in writing this is to take a very light and uplifting tone.
THAT being said, I probably use Google Material design on a regular basis, and I am fascinated by Lightning Design System (Salesforce).
Cons - using a premade (or prebaked) design pattern system like Material design can start to look unoriginal, and was created to solve a problem you (possibly) don't have. In the case of Material design I believe they released it with the intent of having many developers adopt it into their projects. Many projects released to their app store would benefit greatly on just the superficial level of looking more professional by developers using it.
"Professional UX design > prebaked design system > no/lacking design system > no/lacking design" -- Captain Obvious
Actually, on second thought, maybe he is in fact making reference to software design patterns. Please disregard my rant. Cheers!
For a SPA: I like to use React in the simplest way possible (props + state + hooks). No Redux etc.
For simpler stuff: jquery or vanilla would suffice
I like to do Component composition and some times extension so I can reuse stuff. (react has a React.cloneelement).
I try to do separation of concerns and DRY but not becoming paranoid. I prefer to have code duplication rather than a bad abastraction