ประสบการณ์ของฉันกับการพัฒนาเว็บไซต์แบบไดนามิกนั้น จำกัด อยู่ที่ servlets Java เป็นส่วนใหญ่ ฉันใช้ Tomcat เพื่อพัฒนา Java servlets ต่างๆและฉันไม่ลังเลที่จะพูดว่าฉันมีความเชี่ยวชาญในเทคโนโลยีนี้พอ ๆ กับ HTML / CSS / Javascript ฝั่งไคลเอ็นต์สำหรับส่วนหน้า
เมื่อฉันคิดว่า "เว็บไซต์ไดนามิก" ฉันคิดว่า: ผู้ใช้ร้องขอ URL ด้วยสตริงข้อความค้นหาเซิร์ฟเวอร์ได้รับข้อความค้นหาแล้วดำเนินการกับ HTML แบบไดนามิกเพื่อตอบแบบสอบถาม ซึ่งมักเกี่ยวข้องกับการสื่อสารกับฐานข้อมูลเพื่อดึงข้อมูลที่ร้องขอเพื่อแสดงผล นี้นั้นเป็นความคิดที่อยู่เบื้องหลังdoGet
วิธีการของ HttpServlet
Java
แต่ทุกวันนี้ฉันได้ยินเกี่ยวกับกรอบใหม่ ๆ มากขึ้นเช่น Django และ Ruby on Rails ซึ่งทั้งหมดนี้ใช้ประโยชน์จากสถาปัตยกรรม "Model View Controller" ฉันอ่านบทความต่าง ๆ ที่อธิบาย MVC แล้ว แต่ฉันมีปัญหาในการเข้าใจถึงประโยชน์ ฉันเข้าใจว่าแนวคิดทั่วไปคือการแยกตรรกะทางธุรกิจออกจากตรรกะ UI แต่ฉันไม่เห็นว่าสิ่งนี้แตกต่างจากการเขียนโปรแกรมเว็บปกติอย่างไร การเขียนโปรแกรมบนเว็บนั้นเป็นเรื่องปกติบังคับให้คุณแยกตรรกะทางธุรกิจ (การเขียนโปรแกรมฝั่งเซิร์ฟเวอร์ด้านหลัง) ออกจากการเขียนโปรแกรม UI (HTML ฝั่งไคลเอ็นต์หรือ Javascript) เนื่องจากทั้งสองมีอยู่ในขอบเขตการเขียนโปรแกรมที่แตกต่างกันโดยสิ้นเชิง
คำถาม:อะไรที่ MVC นำเสนอเหนือบางสิ่งบางอย่างเช่น Java servlet และที่สำคัญกว่านั้นคือ MVC คืออะไรและมันแตกต่างจากสิ่งที่คุณมักจะทำเพื่อพัฒนาเว็บไซต์แบบไดนามิกโดยใช้วิธีการแบบดั้งเดิมมากขึ้นเช่น servlet Java (หรือแม้แต่ สิ่งที่เก่ากว่าเช่น CGI)? หากเป็นไปได้เมื่ออธิบาย MVC โปรดให้ตัวอย่างซึ่งแสดงให้เห็นว่า MVC ถูกนำไปใช้กับกระบวนการพัฒนาเว็บไซต์อย่างไรและมีประโยชน์อย่างไร