MVC คืออะไร ผมก็ใช้อยู่นะ

ถ้าพูดถึง MVC หลายคนอาจจะเคยได้ยินกันมาบ้าง แต่คนที่ได้ยินหรือเคยได้เขียนโปรแกรมโดยใช้ MVC อาจจะเขียนโปรแกรมไม่อยู่ในรูปแบบ MVC ก็ได้ เพราะอะไรนั้นหรือ อย่างหนึ่งคือ เราจะมีเหตุผลที่ทำให้เราไม่ทำตามรูปแบบ MVC ยังไงล่ะ

แล้วมันยังไงล่ะเนี่ย! โดยปกติแล้ว MVC เราจะแปลกันว่า รูปแบบการเขียนโปรแกรมแบบหนึ่งที่แยกการทำงานของ Model, View, Controller ออกจากกัน เพื่อให้แต่ละส่วนทำหน้าที่แตกต่างกันและทำงานสอดคล้อง ประสานกัน

แต่ถ้าคนไหนมาในสายการเขียนโปรแกรมที่ไม่ยึดตึดกับรูปแบบ หรือไม่ได้เขียนโปรแกรมโดยใช้ Framework มาอย่างยาวนาน จะมีนิสัยติดรูปแบบการเขียนโปรแกรมแบบ function เดียวแล้วจบ เหตุผลเพราะสะดวก รวดเร็ว ทำงานได้จริง

แต่ผลที่ตามมาจากการเขียนโปรแกรมแบบไม่แยกออกเป็นส่วนๆ มีผลตามมาในภายหลังเป็นอย่างมาก เช่น ยิ่งเขียนยิ่งยาว ยิ่งอ่านยาก ถ้าทำงานกันเป็นทีมหลายคน นี่ถึงขนาดต้องร้องไห้ก่อนแก้ไขโปรแกรมเลยทีเดียว เขียนอะไรไว้ก็ไม่รู้เยอะแยะไปหมด ผมก็อยู่ในสภาพอย่างนี้เหล่ะไม่แตกต่างกัน 🙁

แม้กระทั่งว่าเราใช้รูปแบบการเขียนโปรแกรมแบบ MVC หรือแยกโค้ดของเราออกเป็นส่วนๆแล้ว สุดท้ายก็ยังมีแอบแฝงคือ เป็น MVC แบบลูกครึ่ง เช่น Controller เอาไว้สำหรับ Data Validation & Flow Control  เราก็ยังเอาส่วนที่ไม่เกี่ยวข้องกับ  Data Validation & Flow Controller มาไว้ใน Controller อีกนั้นเอง แล้วอะไรล่ะที่ทำให้เราเขียนแบบลูกครึ่งกันอยู่

ถ้าในความคิดส่วนตัวของผม ผมคิดว่าไม่ได้อยู่ที่รูปแบบ MVC ไม่ครอบคุมการเขียนโปรแกรมที่เราสร้างขึ้นหรอก เป็นเพราะความขี้เกลียดของเรานี่เอง ^^ เพราะอะไร! ก็เพราะเราเขียนโปรแกรมแบบรวดเดียวจบมานาน จนเป็นนิสัย จะเปลี่ยนเป็นรูปแบบใหม่ภายในพริบตา เป็นไปได้ยังไง (เหมือนเรากลับบ้านแล้วเปิดตู้เย็นก่อนเป็นอันดับแรก วันหลังเมื่อกลับถึงบ้านก็ต้องไปเปิดตู้เย็นเช่นเดิม เพราะเราชินแบบนั้นไปแล้ว)

และมีอีกอย่างหนึ่งคือ เราไม่ค่อยได้ให้คนอื่นมาแก้ไขงานต่อจากเรายังไงล่ะ ถ้าเราเขียนดี มีระบบระเบียบ คนที่มาเขียนโปรแกรมต่อจากเราก็ง่าย แต่ส่วนใหญ่เรามักจะเขียนโปรแกรมแบบฉายเดียวด้วยซิ ไม่รู้ว่าจะมีใครมาอ่านโค็ดของเรา ^^

โดยสรุปแล้ว ผมไม่ได้ลงรายละเอียดมากของ MVC คืออะไร แต่อยากให้เห็นมุมมองของ MVC ว่า เราเขียนโปรแกรม MVC กันจริงๆ หรือเปล่า สิ่งสำคัญสุดคือลงมือทำบ่อยๆ ฝึกฝนบ่อยๆ เราจะได้ออกมาจากวังวน การเขียนโปรแกรมแบบเดิมๆ เสียที

Tags: , ,

Trackback from your site.

admin

PhalconHost Team | Line id: @PhalconHost | Tel: 096-520-7008