Hi all,<p>Here is an article/video that I created for myself (!) of software design patterns and best practices. It is good exercise to be reminded of these periodically and reflect on your projects and see where you could have applied them to make things simpler. Also, the best way to learn & re-learn things is to teach them, so here we go.<p><pre><code> * Video: https://www.youtube.com/watch?v=A6Ud7EGAxrc
* Article: https://quanticdev.com/articles/software-design-patterns
* Article source (GitHub): https://github.com/soygul/QuanticDev/blob/master/articles/software-design-patterns.md
</code></pre>
Article/video covers the following patterns:<p><pre><code> 1. YAGNI - You Ain't Gonna Need It
2. Thinking Before Coding
3. KISS – Keep It Simple Stupid
4. DRY – Do not Repeat Yourself
5. Single Responsibility Principle
6. Separation of Concerts
7. Composition Over Inheritance
8. Dependency Injection
9. Test-Driven Development
10. One Way Communication and Data Flow
11. Immutability
12. State Containers
13. Factory and Singleton Patterns
</code></pre>
Hope this helps someone, and all feedback is welcome. I will incorporate any feedback into the article.