MVC Framework


MVC ย่อมาจาก Model-View-Controller ลักณะเป็นสถาปัตยกรรมซอฟแวร์ (architecture) กำเนิดขึ้นในภาษาสมอลทอล์ค (Smalltalk) มีการแบ่งระบบออกเป็น 3 ส่วนหลัก ๆ ได้แก่

  1. Model (Data model)
  2. View (User interface)
  3. Controller (Process)

Model-View-Controller pattern 
ภาพจาก:
http://java.sun.com/blueprints/patterns/MVC-detailed.html

Figure 1: Model-View-Controller pattern(1)

 

mvcfigure1 
ภาพจาก:
http://cristobal.baray.com/indiana/projects/mvc.html

Figure 2: Model-View-Controller pattern(2)

 

Model

  • ประกอบด้วย class ที่เชื่อมต่อกับ RDBMS มีการติดต่อกับ Active Record เพื่อช่วยจัดการงานด้าน Database เช่น ตรวจสอบความถูกต้อง(validation), ความสัมพันธ์ระหว่างฐานข้อมูล(association), transactions เป็นต้น
  • จัดการระหว่าง Object และ Database โดยที่ Developer ไม่ต้องยุ่งยากกับการใช้คำสั่ง SQL command

View

  • เป็นส่วนที่ติดต่อกับผู้ใช้ (User interface) หรือรายงานผลลัพธ์จากกระบวนการของProcess

Controller

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

ประโยชนของ MVC

  • ทำให้ง่ายต่อการแก้ไขโปรแกรม
  • สามารถโต้ตอบกับผู้ใช้ด้วยการแสดงผลที่หน้าจอหลากหลายของข้อมูลเดียวกัน หรือสามารถเปลี่ยนแปลง รูปแบบหรือโครงสร้างข้อมูล ได้โดยที่ View ยังคงเดิม
  • สนับสนุนการนำ Source code มาใช้ใหม่และช่วยให้นักพัฒนามุ่งสนใจกับหน้าตาแอพพลิเคชัน(View) เดียว โดยไม่สนหน้าตาแอพพลิเคชันส่วนอื่น
  • การเปลี่ยนแปลงส่วนใดส่วนหนึ่งของคอมโพเนนต์จะไม่ส่งผลกระทบต่อคอมโพเนนต์อื่น

 

อ้างอิง และข้อมูลเพิ่มเติม:
http://weblogs.asp.net/scottgu

http://msdn2.microsoft.com

ASP.NET Model View Controller Applications
http://cristobal.baray.com/indiana/projects/mvc.html
http://java.sun.com/blueprints/patterns/MVC-detailed.html

 

Advertisements
เกี่ยวกับ

Nuchit Atjanawat is a Microsoft MVP, GreatFriends Community Leader, WindowsITPro Columnist(Mr.Nano), Silverlight Business Application Instructor, Speaker in various Microsoft events, Author, passionate Blogger and a Software Engineer by profession. He has a very good skill over Silverlight, LightSwitch, C#, XAML & Blend. He shares his technical findings, tutorials in his technical blog. Follow his Blog and Facebook page to be updated on latest articles. - Technical Blog: https://janawat.wordpress.com - WindowsITPro Columnist(Mr.Nano): http://windowsitpro.net - The GreatFriends.Biz Community Discussion Board (nano): http://greatfriends.biz - witter: https://twitter.com/janawat - Facebook Page: https://www.facebook.com/nuchit - Instructor: http://bit.ly/GF250-01, http://bit.ly/GF150-02

เขียนใน Web Application
One comment on “MVC Framework
  1. wichai พูดว่า:

    เยี่อมเลยคราบ เอาอีกครับมีเวลาเขียนเยอะๆนะครับจะเข้ามาหาความรู้

ใส่ความเห็น

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / เปลี่ยนแปลง )

Twitter picture

You are commenting using your Twitter account. Log Out / เปลี่ยนแปลง )

Facebook photo

You are commenting using your Facebook account. Log Out / เปลี่ยนแปลง )

Google+ photo

You are commenting using your Google+ account. Log Out / เปลี่ยนแปลง )

Connecting to %s

In Archive
%d bloggers like this: