🏆Abstraction & Encapsulation
🔥 Abstraction

🔥 Encapsulation

💖 Abstraction + Encapsulation

🎯 บทสรุป
Last updated
Was this helpful?
หลังจากที่เข้าใจหลักการของ Abstraction กับ Encapsulation กันไปเรียบร้อยแล้ว ดังนั้นเรามาสรุปความเข้าใจเจ้า 2 ตัวนี้ก่อนว่ามันเกี่ยวเนื่องกันยังไง
เป็นการแปลงโจทย์ให้เป็น Models เพื่อให้เราเอาไปเขียนโค้ดต่อ

เป็นการ ควบคุมสิทธิ์ และทำให้ของต่างๆทำงานร่วมกัน

เมื่อเราเอาทั้ง 2 แนวคิดนี้มารวมกัน เราจะได้ Models ที่มีการควบคุมสิทธิ์ในการเข้าใช้งาน นั่นเอง ซึ่งประโยชน์ที่เราจะได้ก็คือ Model ของเราจะเป็น Component ที่สามารถเอาไปใช้งานได้ โดยที่คนอื่นไม่จำเป็นต้องสนใจเลยว่าจริงๆมันทำงานยังไง ยกตัวอย่างเช่น ทีวี

เมื่อไหร่ก็ตามที่เราอยากดูทีวี เราก็แค่เดินมากดปุ่มเปิดแค่นั้นเราก็สามารถใช้งานทีวีได้แล้ว โดยที่เราไม่จำเป็นต้องรู้เลยว่าจริงๆของข้างในมันทำงานยังไง มันถึงแสดงภาพให้เราเห็นได้
เมื่อมองย้อนกลับมาเราจะเห็นว่าทีวีมันมีความเป็น Abstraction ก็คือเราสามารถใช้งานมันได้โดยที่ไม่จำเป็นต้องรู้ว่าภายในมันทำงานยังไง และในแง่ของ Encapsulation มันก็ซ่อนวงจรต่างๆไว้ภายในไม่ให้เราต้องไปรับรู้ แต่ถ้าเราอยากเชื่อมทีวีกับของอย่างอื่น เช่นลำโพง เขาก็จะมีช่องด้านหลังทีวีให้เราไปจิ้มใช้งานกับเขาได้เลย เพราะเขาเปิดมันให้เราใช้งานได้แค่นั้น ส่วนในแง่ของ Component นั้นจะเห็นว่าทีวีที่มันสมบูรณ์แบบในตัวมันเอง เรามีหน้าที่ใช้มันก็พอ ดังนั้นเราก็สามารถนำทีวี ไปใช้งานร่วมกับ Component อื่น เช่น ต่อ AppleTv ต่อลำโพง ต่อเครื่องเกม Nintendo, Xbox, PS4 เข้าไปก็จะสามารถทำงานร่วมกันของอื่นๆได้ทันทีเลย
Models ที่ดีจะต้องมีการทำ Abstraction เพื่อให้มันใช้งานได้ง่าย แต่จะต้องคิดถึง Sensitive Data ด้วย ดังนั้นเราก็ต้องนำหลักของ Encapsulation เข้ามาร่วมในการออกแบบด้วยนั่นเอง
Last updated
Was this helpful?
Was this helpful?