Since i started programming i always found it something difficult to do. When i started it didn't seem natural and i lacked good practices to write good code. Most of the time, i would be lost on where to start. D oing code, is an hard task and i don't believe who says otherwise. It requires a mindset. Not everyone has the reasoning to do these kind of tasks. It takes years of knowledge and experience to be good at it. As a specie, we humans give names to everything, because thats how we communicate to others about some object, concept or whatever it is. We like to categorize, to organize things, in programming we do the same with the principles we use for good code practices. What happens with these patterns is that when we identify what kind of task we need to do we will identify the pattern and apply it. Next i will talk about the SOLID principles, this is an acronym that we should be remembering, it comes from the early 2000. It means the following: Single-r...