Öncelikle dil bağımsız patern ve prensipler işinizi kolaylaştırmak için değil standart ve sürdürülebilir bir forma sokmak için varlar.
SOLID ve Patern kavramlarınızı temelde incelemenizi öneririm
https://medium.com/backticks-tildes/...s-b34ce2f1e898
https://refactoring.guru/design-patterns

Solid prensiplerine uyduğunuz zaman dolaylı yoldan obje yönelimli geliştirmeyi de zamanda oturtacaksınız.
MVC ihtiyaç ve uygulama ile incelenmesi gereken bir mimari temelde çok farklı örnekleri gözükebilir fakat teoride baştan incelemek için

https://www.youtube.com/watch?v=1IsL6g2ixak