Design Pattern : Model-View-Controller (MVC) เป็นหนึ่งในหลายๆ Design Pattern ที่โปรแกรม NetBeans รองรับซึ่ง MVC นี้พูดง่ายๆก็คือ จะแยก class ต่างๆ ในโปรแกรมของเราออกเป็น 3 ประเภทคือ
1. Model เป็น class ที่เอาไว้เก็บข้อมูลต่างๆ
2. View เป็น class ที่เอาไว้รับ input หรือแสดง output ของระบบที่ใช้ MVC
3. Controller เป็น class ที่เอาไว้ควบคุมการทำงานต่างๆของทั้ง Model และ View
ด้านล่างนี้เป็นตัวอย่าง source code ของโปรแกรมที่ใช้แนวคิด MVC อย่างง่ายครับผม
จากตัวอย่างจะเห็นว่า class Model มีการ extends Observable นั้นหมายถึงเราจะให้ Model นั้นถูกสังเกตุการณ์โดย class อื่นๆ นั่นเอง และเมื่อตัว Model มีการเปลี่ยนแปลงที่ต้องการจะส่งสัญญาณไปหา object ของ class ที่เป็นผู้สังเกตุการณ์ ก็สามารถทำได้โดยใช้เมธอด setChanged() ตามด้วย notifyObservers()
ส่วน class ที่ทำหน้าที่เป็นผู้สังเกตุการณ์โดยส่วนมากจะเป็น class ประเภท View ซึ่งจะต้อง implements Observer และ override method update() ซึ่งเมื่อ Model มีการ setChanged() ตามด้วย notifyObservers() แล้ว เมธอด update() จะถูกเรียกขึ้นมาทำงานโดยอัติโนมัติ
สุดท้ายสำหรับ class ที่ทำหน้าที่เป็น Controller นั้น ก็จะทำการควบคุมการทำงานต่างๆของโปรแกรม รวมถึง Model และ View ด้วย ดังภาพด้านบนครับ
สุดท้ายนี้ หวังว่าผู้ที่ได้อ่านบทความนี้จะได้รับความรู้เพิ่มเติมไม่มากก็น้อย
และหากมีข้อผิดพลาดปรการใดผู้เขียนใคร่ขออภัยมา ณ ที่นี้ด้วยครับ ^^"
ไม่มีความคิดเห็น:
แสดงความคิดเห็น