วันพุธ, มิถุนายน 20, 2550

อ่าน Agile Web Development with Rails ( 1 )

// นี่คือชอร์ตโน้ตระหว่างอ่านเพื่อทบทวนความเข้าใจของตัวเอง
หากอ่านไม่รู้เรื่องขอให้ทำใจ ขออภัยในความไม่สะดวกไว้ ณ ที่นี้

สถาปัตยกรรมของ Rails อิงแนวคิด MVC ของลุง Trygve Reenskaug
คือ Model-View-Controller

Model จัดการข้อมูลและ Business Rules
View จัดการเรื่องการแสดงผล
Controller รับคำสั่งจากผู้ใช้ เพื่อไปประมวลผล

สำหรับ Rails คำสั่งจากผู้ใช้จะมาที่ Router ก่อน โดย Router จะส่งต่อคำสั่งไปยัง action ใน Controller ที่ใช้จัดการคำสั่งนั้น

หากมีส่วนที่เกี่ยวข้องกับข้อมูลก็จะติดต่อกับส่วน Model ซึ่งใน Rails นี้คือ Active Record Model

ผลลัพธ์จะถูกนำเสนอสู่ผู้ใช้ทาง View ครับ

Active Record ของ Rails จะยึดตาม ORM (Object Relational Mapping) Layer การดีไซน์ฐานข้อมูลโดยเริ่มจาก Active Record Model ของ Rails เป็นความคิดที่ดีมาก เพราะสะดวกกับการเลือกใช้ DB Engine ที่หลากหลายในภายหลัง

View ใน Rails, dynamic content ที่สร้างจาก templating scheme มีอยู่ 3 แนวด้วยกัน
- rhtml ซึ่งเป็นวิธีพื้นฐานที่สุด แทรก ruby code ลงใน html เรียกว่า ERb (Embeded Ruby)
- rmxl ใช้ ruby code สร้าง xml
- rjs สร้าง javascipt code เพื่อให้ไปรันที่ฝั่ง browser เหมาะสำหรับ dynamic AJAX

Controller เป็นหัวใจของ application รับงานจาก user, ติดต่อกับ model, ส่งต่อไปให้ view แสดงผล, จัดการ session รับงานสารพัดสารเพทุกอย่างที่เหลือทั้งหมดแม้กระทั่งการจัดการ cache เพื่อเพิ่ม performance

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