วันจันทร์ที่ 31 มีนาคม พ.ศ. 2557

WebApplication : MVC

Web Applicaiton
การพัฒนา Web Application ตามประสบการ์ณของผมที่ทำงานเกี่ยวกับการสร้าง Web Application พูดง่ายๆ ก็คือ การที่เราสร้างโปรแกรมให้สามารถทำงานผ่านเว็บเบราวเซอร์โดยจะรันโปรแกรมในโปรโตคอลมาตรฐาน HTTP ข้อดีของมันก็คงไม่ต้องพูดถึง คือสามารถทำงานได้ในทุกๆ ที่ที่สามารถเชื่อมต่อ Internet ได้ แค่มีโปรแกรมเว็บเบราเซอร์ ไม่ว่าจะเป็น Google Chrome, Mozilla FireFox หรือ Intetnet Exproler ก็สามารถทำงานได้แล้ว และภาษาที่ใช้พัฒนาโปรแกรมที่รันบน Web base ก็มีอยู่หลายค่ายหลายภาษาด้วยกัน เช่น PHP ที่เป็นที่นิยมมากที่สุดในการพัฒนาเว็บไซต์, ASP , Ruby, Groovy on Grails, Python, Scala หรือ JAVA ซึ่งแต่ละภาษาก็มีข้อดีและข้อเสียต่างกัน ถ้าจะถามว่าทำไมผมถึงเลือกภาษา JAVA ในการพัฒนา Web Application ก็ เป็นความรู้สึกชอบส่วนตัวนะครับ จากที่ได้ศึกษาข้อมูลมามาก และจากประสบการณ์ที่ได้พัฒนา Web Applicaition แล้วรู้สึกว่า เป็นภาษาที่ใช้สำหรับพัฒนาโปรแกรมสำหรับใช้งานบนพื้นฐาน Web base ที่เรียกได้ว่าดีที่สุดภาษาหนึ่งก็ว่าได้ และภาษา Java นั้นก็มี Framework ให้ใช้มากมายเช่นกัน ท่านอาจจะเคยได้ยินบาง Framework ที่ชื่อ Spring Framework, Struts Framework, JSF ฯลฯ  ล้วนแล้วเป็นค่ายใหญ่ๆ ทั้งนั้น และองค์กรที่ใช้ Framework เหล่านี้พัฒนา ก็ล้วนแต่เป็นองค์กรใหญ่ๆ ระดับประเทศ ผมก็เลยตั้งใจที่จะศึกษา Framwork เหล่านี้ แต่ก็อย่างว่านะครับ ยิ่งใหญ่ มันก็ยิ่งยาก ผมก็เลย หยิบเอา Concept ในการพัฒนามาเล่าเป็นเรื่องราวในหนังสือเล่มนี้ เพื่อที่จะให้ทุกคนมีความเข้าใจถึงหลักการที่แท้จริงของมันว่า แต่ละ Framework มีการทำงานที่เหมือนๆ กัน ซึ่งผมอาจจะบอกได้ว่า ใน Framework เหล่านี้ ก็ทำงานอยู่บนมาตรฐาน MVC เช่นเดียวกับภาษาอื่นที่มี ไม่ว่าจะเป็น PHP ที่มี Framework ที่เป็น MVC เช่น CodeIgniter, Yii, Laravel หรือ Grails ที่ใช้ภาษา Groovy และอื่นๆ อีกมากมาย เอาเป็นว่า มันมีเยอะละกัน ซึ่งผมไม่สามารถอธิบายได้หมดแน่นอน ในหนังสือเล่มนี้ ผมจะพยายามอธิบายการทำงานของหลักการ MVC ให้ทุกท่านได้เข้าใจในรูปแบบการเขียน Web Applcation บน JAVA Servlet ที่ผมการันตีได้เลยว่า คุณจะเข้าใจการทำงานของ MVC ได้ดีเลยทีเดียว เรามาเริ่มกันดีกว่า


เขียนโปรแกรมจนนอนไม่หลับ
MVC
M : Model
                ถ้าจะพูดถึง Model ให้เรามองภาพหรือความหมายที่เราเข้าใจว่า Model แปลว่าอะไร ก็คือ สิ่งที่จะบ่งบอกว่า ในหนึ่ง ๆ Object นั้น สิ่งที่จะบ่งบอกว่า เค้ามีองค์ประกอบอะไรบ้างที่เอามารวมกันแล้วกลายเป็น Class หนึ่งๆ เช่น Model ของ พนักงาน ก็จะประกอบไปด้วย รหัสพนักงาน, ชื่อ-สกุล, ตำแหน่ง, เงินเดือน, ที่อยู่, เบอร์โทรศัพท์ ซึ่งถ้าเรามองแล้ว พนักงานทุกคน ก็จะมีองค์ประกอบเหมือนกันทุกคนใช่หรือไม่ คำตอบง่ายๆ ก็คือ ใช่เลย นี่แหละคือ Model ของพนักงาน เข้าใจตรงกันนะ....

V : View
                ต่อจาก Model เลยนะครับ ในเมื่อ Model ของแต่ละคนเหมือนกันหมด แล้วเราจะรู้ได้อย่างไรว่า พนักงานแต่ละคนแตกต่างกัน นี่ก็จะเป็นส่วนของการกำหนดว่า Model เป็นเพียงพิมพ์เขียว ที่เราจะต้องสร้างงานใหม่ๆ จากพิมพ์เขียวตัวนี้ เช่น เราจะสร้างพนักงานหนึ่งคนโดยมีองค์ประกอบจาก Model ข้างต้น ก็จะเป็นการกำหนดค่าให้มันคือ ... รหัสพนักงานอะไร ชื่อ-สกุล ตำแหน่ง เงินเดือนเท่าไหร่ เราก็หยิบข้อมูลเหล่านี้ออกไปแสดงผลที่เราได้มาจาก Model ที่มีการสร้างนั้น ไปแสดงผลในส่วนของ View หลายคนอาจจะงง... เอาใหม่นะ View ก็คือส่วนของการแสดงผล ที่เราได้มาจากการกระทำ C : Controller ที่ทำงานร่วมกับ M : Model เพื่อที่จะส่งไปแสดงผลใน View ... จบนะ

C : Controller

                ส่วนนี้ก็คือการกระทำ ที่จะเรียกได้ว่าเป็น Controller หรือ Action ก็ได้ ที่จะเป็นตัวที่ใช้ประมวลผลต่างๆ ที่เกิดจากการไปหยิบเอา Model มากระทำแล้วส่งไปแสดงผลที่ View นั่นเอง ถ้าพูดในวิธีการเขียนโปรแกรม ก็คือการสร้าง Method หรือ Function หรือ Action ของ Model นั่นเองครับผม เดี๋ยวผมจะยกตัวอย่างให้ดูในบทหลังๆ นะครับ จะได้เข้าใจยิ่งขึ้น


เดี๋ยวจะมาต่ออีกพรุ่งนี้นะครับ 

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

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