Ebook Studio

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

โพยสั้น

Domain objects