Topic 9
Topic 9
โค้ด Ruby ใช้ร่วมจากโฟลเดอร์ en/ ของต้นฉบับ เพื่อให้สองภาษาผูกกับชุดทดสอบเดียวกัน
ภาพรวม
ทำไมหัวข้อนี้จึงสำคัญ
capstone นี้มีไว้เพื่อรวบความคิดทั้งคอร์สเข้ามาอยู่ใน domain เดียว ผู้เรียนจะขยับจาก การดูฟีเจอร์เป็นชิ้น ๆ ไปสู่ระบบขนาดเล็กที่มี domain objects, การเปลี่ยน state, validation, การร่วมงานกันของ object และพฤติกรรมด้านการส่งออก
สิ่งที่ผมอยากให้คุณทำได้เมื่อจบหัวข้อนี้
เมื่อจบหัวข้อนี้ คุณควรจะ:
จุดที่ผมใช้ดูความเข้าใจ
ผมอยากให้คุณอธิบายได้ว่าทำไม model จึงแยกออกเป็น Book , Member , Library และ LibraryReport
โน้ตสั้น
capstone ไม่จำเป็นต้องใหญ่ มันต้องใหญ่พอที่จะเผยให้เห็นว่าผู้เรียนเชื่อมไอเดียจากหัวข้อ ก่อน ๆ เข้าหากันได้หรือไม่:
จุดที่ Ruby ทำได้ดีในหัวข้อนี้:
จุดที่ต้องระวังในหัวข้อนี้:
คำถามชวนคิด:
ตัวอย่างแบบลงมือดู
Example 1: กฎการยืมอยู่บน member
borrow limit ควรอยู่บน Member ไม่ใช่ script ที่ทำตัวคล้าย controller เพราะมันเป็นส่วน หนึ่งของข้อจำกัดใน domain ของสมาชิกคนนั้นเอง
นี่เป็นการตัดสินใจที่สอนอะไรได้ดี:
Example 2: การส่งออกสถานะการยืม
library อาจต้องเปิดเผยสถานะการยืมออกมาได้หลายรูปแบบ:
จุดนี้ทำให้เส้นแบ่งของ exporter ดูสมจริง และทำให้เห็นผลตอบแทนของสิ่งที่เรียนมาในหัวข้อ 7