Most popular

วันเสาร์ที่ 7 พฤษภาคม พ.ศ. 2554

MVC แนวคิดเก่า ประยุคใช้ใหม่

หลายปีผ่านมา ผู้เขียนได้ศึกษามาหลายอย่าง โดยเฉพาะการศึกษาความเป็นมาและเทคโนโลยีในการเขียนโปรแกรม บางอย่างก็นำไปใช้ในการทำงาน บางอย่างก็ไม่มีโอกาสได้ใช้ แต่ก็ได้แนวคิดหลายๆอย่าง
        ช่วงหลังๆนี้ ตั้งแต่ .Net 3.5 ปลายๆ จนถึง .Net 4.0 ออกมาก็มีคนกล่าวถึง MVC มากขึ้น สบโอกาสยามว่าง ผู้เขียนเลยศึกษาหาข้อมูลของเจ้า MVC ที่แท้ MVC มันก็คือตัวย่อของแต่ละคำ โดยย่อมาจาก Model View Controller จริงๆแล้วก็คือหลักการเก่าที่ขุดขึ้นมา รีด ตี ขึ้นรูปใหม่ ด้วยยักใหญ่อย่าง Microsoft จากที่เคยเป็นหลักการในการพัฒนาโปรแกรมที่ซับซ้อน โดยผู้พัฒนาต้องหยิบไปคิดต่อเองของใครของมัน Microsoft เลยจัดการรูปแบบลง Framework ยัดใส่ใน Visual Studio ซะเลย แต่ค้นความเป็นมาที่แท้จริงนั้น MVC เกิดมาตั้งแต่สมัย 20 ปีก่อนโน้น โดยที่ภาษาที่ใช้ในตอนนั้นคือ Smalltalk-80 กับเครื่อง MAC (ช่วงนั้นผู้เขียนยังเป็นเด็กกะโปโลอยู่เลย อ้างอิงข้อมูลเพิ่มเติมจาก Applications Programming in Smalltalk-80(TM):How to use Model-View-Controller (MVC))
        พูดถึงความเป็นมาแล้ว ก็มาพูดถึงแนวคิดของ MVC กันต่อ ตัว MVC ในปัจจุบันนี้เข้ามามีบทบาทในส่วนการพัฒนา Web Application โดยตรง เพราะการพัฒนาเว็บเองมีการพัฒนาหลายส่วน และยิ่งซับซ้อนมากขึ้นกว่ายุคก่อนๆ จนบางบริษัทสามารถนำเว็บ (Webform) มาใช้ภายในบริษัททั้งหมด เนื่องจากไม่ต้องดูแลเครื่องที่เป็น Client มากนัก ลงทุนพัฒนาที่ Server อย่างเดียวก็สามารถใช้ได้กว้างขวาง
        เว็บนั้นมีทั้งส่วนที่ติดต่อกับผู้ใช้ (User Interface) ที่ในปัจจุบันมีเทคนิคหลายอย่างในการสร้าง เช่น การใช้ Html ร่วมกับ Java Script หรืออาจจะร่วมด้วย AJAX และการออกแบบร่วมกับ CSS Flash Silverlight และอื่นๆอีกมากมาย และต้องมีการรับข้อมูล และแสดงข้อมูลตลอดเวลา ในส่วนที่คือ View
        ส่วนต่อมาคือ M ซึ่งหมายถึง Model บางท่านที่เป็นมือใหม่อาจจะไม่เข้าใจ แต่ Model เป็นการสร้าง Class เกี่ยวกับข้อมูลที่ใช้ในหน้านั้นๆ สมมุติว่ามีหน้าสมัครสมาชิก Class Model นี้ก็จะต้องประกอบไปด้วยการรับข้อมูลที่กรอก การตรวจสอบข้อมูลต่างๆ เปรียบเสมือนล่ามของ View คอยชักใย View อยู่เบื้องหลัง (ก็คือ Business Logic หรือ Business Class เพื่อแยกส่วนของข้อมูลที่ไม่เกี่ยวกับ Program ออกมา)
        ตัวสุดท้ายคือ Controller ตัวนี้ก็คือ Code Programming ที่จะทำให้ Model และ View ทำงานร่วมกันได้ พร้อมที่จะตอบสนองในขั้นตอนสุดท้าย ตามชื่อของมันนั่นเอง
(หลักการนี้ได้ใช้มาอย่างต่อเนื่องจากอดีต จนถึงปัจจุบันเพียงแต่ไม่ได้ใช้ชื่อ MVC มันถูกบรรจุหลักการลงไปในผู้รับมรดกจากภาษา smalltalk คือ Java ในการเขียน JSP Java Bean)

สรุป
การนำหลักการ MVC มาใช้เป็นสิ่งที่ดี ซึ่งไม่ว่าจะเป็น ASP.NET , Java , php  และอีกหลายๆภาษาก็มี MVC Framework ให้ใช้#85;ัน แต่ก็ต้องพิจารณาให้เหมาะสมกับงาน งานใหญ่ใช้คนเยอะ user requirement แน่นอน ทำงานกันเป็นทีม ก็สมควรใช้หลักการนี้ แต่ถ้างานเล็ก คนน้อย หรือทำคนเดียวคงไม่เหมาะสักเท่าไหร่กับการวางหลักการอ้อมโลก

ไม่มีความคิดเห็น:

แสดงความคิดเห็น