วันจันทร์ที่ 26 พฤษภาคม พ.ศ. 2557

ASP.NET MVC(C#) ตอน 1

ASP.NET MVC(C#)
ตอนที่ 1 รู้จัก MVC
MVC ย่อมาจาก Model – View – Controller 3 ตัวนี้ มีความหมายและหน้าที่ของมัน
Model คือ ส่วนสำหรับใช้ติดต่อฐานข้อมูล ส่วนใหญ่ Developer จะใช้เก็นคำสั่งพวกก Insert,Update,Delete, Select ลงใน Folder นี้โดยแยกเป็น Class สำหรับติดต่อฐานข้อมูลโดยเฉพาะและ Object ที่ใช้สำหรับ Insert สู่ ตารางต่างๆ โดยส่วนตัวตรงนี้ผมชอบผลักให้ไปกับ Entity Framework เพราะทำให้การ Manage ง่ายดี

View คือ ส่วนสำหรับหน้าจอแสดงผล ใน ASP.net MVC ที่ใช้ RAZOR จะเป็น .cshtml ใน Visual Studio จะไม่มีหน้า Design ให้เหมือนกับ Web Form

Controller คือส่วนของการเชื่อมเพื่อแสดงผลระหว่าง Model และ View โดยใน ASP.net MVC จะอยู่ใน Folder Controller และสามารถ Add Controller ได้เลย ภายใน Controller จะมี Action อยู่ภายใน แต่ละAction จะเชื่อมต่อกับ View 1 View
 อ่านเพิ่มเติมได้ ที่นี่

MVC คือ Pattern หนึ่งในการดีไซน์และพัฒนา Software โดยส่วนใหญ่จะเน้นการพัฒนาผ่านบนเว็บ MVC ไม่ได้ถูกจำกัดแค่อยู่บน .NET เท่านั้นแต่สามารถใช้ได้กับหลายภาษา เท่าที่ผมรู้ก็จะมี PHP ที่มี Framework MVC จำนวนมาก JAVA ก็ไม่น้อย และ.NET ที่มี .NET Framework คอย Provide ไว้ให้

ASP.net Web Form VS ASP.NET MVC
Topic
Web Form
MVC
โครงสร้าง Solution
มีแค่ Designer กับ C#
มี 3 แบบคือ Model, View, Controller
รูปแบบภาษา
ใช้ได้ทั้ง VB.net แล C#.net
ใช้ได้ทั้ง VB.net แล C#.net
การติดต่อฐานข้อมูล
ไม่จำกัด Tool ขึ้นอยู่กับ Tool ที่ใช้กับ .net ได้
ไม่จำกัด Tool ขึ้นอยู่กับ Tool ที่ใช้กับ .net ได้ แต่ว่าโดยส่วนใหญ่จะเก็บไว้ที่ Folder Model
Html Design
มีหน้า HTML Design ให้ใน Visual Studio
ไม่มีหน้า Designer สำหรับ HTMLให้
การ Include File
จะต้องสร้างเป็น user Control(.asmx) แล้วลากเข้ามาใส่ในดีไซน์
สามารถสร้างเป็น Shared หรือ Partial จากนั้น ใส่คำสั่งในการ Include เข้ามาได้ ตาม Syntax
ASP.NET CONTROL FORM
สามารถลากวางใช้ จากหน้า  Designer ได้เลย
สำหรับ MVC ไมโครซอฟฟท์ จัดให้หลายชุดคำสั่งมากและง่ายต่อการดึงมาใช้ แต่ต้องพิมพ์เอา
Javascript Ajax
เขียนปกติ
เขียนปกติ
Ajax Tookit
มีให้
ไม่มีให้
เวลาในการพัฒนาสำหรับเริ่มใหม่
Bad
Normal
เวลาในการพัฒนาสำหรับผู้เป็น .Net WebForm
Fast
Normal
หลาย Developer
Bad
Good
การวาง Pattern ในการพัฒนา
ยาก
ง่าย สาเหตุเพราะ มี Pattern พื้นฐานได้ส่วนนึง แค่ตั้งชื่อและติดต่อฐานข้อมูลให้พร้อม
RESTful Service
No
Yes
ViewState
Yes
No
ViewBag
No
Yes
Performance
Good
Normal
Server Support ในไทย
มีครบทั่วเพราะเป็นพื้นฐาน
ต้องสอบถามบางที่
Learning Curve
Normal
Good
Upgrade Version
Easy
Easy
นี่คือเปรียบเทียบเบื้องต้น จากประสบการณ์ในการพัฒนาโดยตรงและหาข้อมูลเพิ่มเติมครับ
สาเหตุที่ต้องพัฒนาด้วย MVC

  1.  ข้อได้เปรียบสำหรับเริ่มโปรเจคใหม่คือ Pattern ในการพัฒนาที่ชัดเจนกว่า Web Form กับการวาง Pattern แบบ Model, View, Controller เปรียบเสมือนการวาง ครบเป็น Module ที่ง่ายต่อการ จัดการพัฒนาหลายๆคนพร้อมกับ
  2.   ยืนหยุ่นกับ Developer มาก ทำให้การพัฒนาเร็ว และแม้จะไม่ชำนาญด้านการพัฒนาสำหรับ .Net ก็สามารถจัดการส่งต่อให้ผู้เชี่ยวชาญได้ง่าย
  3.  หากวาง Style ในการเขียนและตั้งชื่อตัวแปร แล้ว ผู้ต่อนั้นง่ายมาก
  4. เรียนรู้ง่ายและไว
  5. สามารถ Plug กับ Pattern อื่นได้ง่ายเช่น Repository, Invention of Control หรือ อื่นๆ
  6. เขียน RESTful Service ได้ดี ง่ายต่อการเขียนติดต่อกับ Cross Platform
สามารดูเพิ่มเติมได้ ที่นี่
ลิงค์เพิ่มเติมสำหรับ Asp.net MVC
http://sinosoi.wordpress.com/2011/07/14/asp-net-mvc-01-%E0%B8%A1%E0%B8%B1%E0%B8%99%E0%B8%84%E0%B8%B7%E0%B8%AD%E0%B8%AD%E0%B8%B0%E0%B9%84%E0%B8%A3/

http://www.microsoft.com/thailand/msdn/ASPNET_MVC3_HTML5_Vol1.aspx

2 ความคิดเห็น:

  1. It was such a useful blog! The narration of the facts and figures is very nice. In struggling to hire my remote developers, I discovered Eiliana.com, an emerging freelancing portal, and I found they have a superb talent pool. I hired a few experts from there, and I'm blessed.

    ตอบลบ
  2. World777 is an eSports fantasy justice game played by roughly 13 million people. It has a total standing of3.9/ 5 and has been installed till date. In this game, the player can form a platoon of 11 members by opting them from a pool of 25 or 30 players. The performance of the 11 players on your platoon earns you the points just as the live match begins. Your final score gives you a ranking at the end.

    ตอบลบ