Model-View-Controller (MVC) ve Model-View-Presenter (MVP) modelleri hakkında üç gündür okudum . Ve beni çok rahatsız eden bir soru var. Yazılım tasarımcıları bir MVC olduğu zaman neden MVP'yi icat ettiler?
Hangi problemlerle karşılaştılar, MVC'nin çözemediğini (ya da kötü bir şekilde çözdüğünü), ancak MVP çözebilir mi? MVP hangi sorunları çözmeyi amaçlamaktadır?
MVP'nin tarihçesi ve açıklaması veya MVC ile MVP arasındaki farklar hakkında birçok makale okudum, ancak hiçbirinin sorularıma açık bir cevabı yoktu.
Okuduğum makalelerin birinde, şöyle söylendi:
Şimdi, modern bileşen tabanlı grafiksel kullanıcı arayüzlerine uygulandığında MVC modelinin yetersizliğine bir cevap olan Model View Presenter üzerine. Modern GUI sistemlerinde, GUI bileşenlerinin kendisi, bazı merkezi denetleyiciler yerine, fare hareketleri ve tıklamalar gibi kullanıcı girişlerini idare eder.
Yani, anlayamıyorum, ama aslında başka bir şekilde olabilir, öyle ki GUI bileşenleri kullanıcı girişlerini kendi başlarına yapamazlar? Ve "kendi başlarına halletmek" tam olarak ne anlama geliyor?