MVC / MV * uygulama anlayışım, Her bir bölümün ayrı bir endişeyi ele alabilmesi için Programın / Kodların ayrı bölümlere / parçalara ayrılmasıyla ilgili Endişelerin Ayrılması (SoC) ilkesini izlemektir (Ref: http://en.wikipedia.org / wiki / Separation_of_concerns )
Endişeleri ayırmanın bir çok faydası vardır: biri diğerini etkilemeyecek ve geliştiriciler geri kalanı, vb. etkilemeden bir birim üzerinde çalışabilirler vb. vb. MVC SoC'yi izleyen tek kalıp değil, temelde OOP işleri birimlere ayırmak için harika bir konsept.
MVC / MV *, UI ile ilgili gelişmeyi ele alırken çok faydalıdır; bunun altında, altta daha fazla desen olabilir - fabrika, singleton, cephe vb. Büyük projelerin çoğu, farklı yönleri işleyen çok sayıda katmandan oluşur, ancak UI için bir zorunluluk olmayabilir. bazı durumlar. MVC'yi çok fazla görebilirsiniz - çünkü birçok projede UI öğesi vardır.
Bu nedenle, MVC'nin sakıncalarından bahsederken, gerçekten yaptığınız projelere bağlı - kullanıcı arayüzü var mı? Mükemmel ölçeklenebilirlik / genişletilebilirlik gerektiriyor mu? UI ve sistem arkasında birçok etkileşime sahip mi? Örneğin, basit bir bilgi web sayfası, gelecekte büyük bir etkileşimli sayfaya genişletmeyi planlamıyorsanız, MVC'yi hiç gerektirmez.
bu yüzden MVC'yi (veya daha genel - bir tasarım modelini) değerlendirmek için, ona bir bağlam verin ve karmaşıklık, ölçeklenebilirlik, test edilebilirlik, bakım, zaman kısıtlaması vb.