Ebenso, wie der Profi-Bauarbeiter die richtigen Techniken draufhaben muss, sollte der Programmierer die SOLID-Prinzipien verinnerlicht haben. Natürlich wird man DI in einem kleinen Tool nicht verwenden, ebenso wenig, wie man für eine Hundehütte oder den Gartenpavillion die neuesten Erkenntnisse der Spannbetonbauweise anwendet.
Mein reden. Bevor man sich mit MVC etc. befasst, sollte man z.B. die SOLID-Prinzipien verstanden haben, allein schon um die Motivation hinter MVC zu verstehen. Denn wie oft ist es schon passiert, dass sich jemand mit MVC befasst "hey MVC, da schwören ja alle darauf, muss ich mal ausprobieren" um dann einen Tag später zu sagen, "boah, MVC was ein Mist, hier ne Klasse schreiben, da ein Interface implementieren, da hau ich doch lieber meine DataSource aufs Formular und mein Grid und bin fertig".
Und manchmal muss man auch erst jahrelang schmerzhafte Erfahrungen machen um die Motivation für die "aufwendigere" Technik nachvollziehen zu können.