Ótima colocação do tiagoCali
, completamentado a resposta dele, esse pattern é como se pensar em clean code, quando se está apredendo a programar, não é necessário se preocupar, a princípio, se o código está limpo mas sim sobre seu funcionamento.
Quando vai ganhando mais senioridade é importante pensar em patterns para garantir um código "readable" (legível), manutenível, performático e etc...
Aí que entra patterns e princípios como SOLID, por exemplo. Mas é importante ir praticando desde já. 😉