Protocol-oriented programming (POP) คือวิธีที่ Swift นิยมใช้ในการแบ่งปันพฤติกรรม: แทนที่จะสืบทอดจาก base class ต่าง ๆ type จะ conform กับ protocol และ protocol extension จะให้ default implementation ที่นำกลับมาใช้ซ้ำได้ วิธีนี้ให้ทั้งการประกอบ (composition) และการนำโค้ดมาใช้ซ้ำโดยไม่มีความแข็งกระด้างของการสืบทอดเดี่ยว (single inheritance)
วิธีการทำงาน
protocol ประกาศข้อกำหนด ส่วน extension บน protocol นั้นให้พฤติกรรมเริ่มต้นที่ตัว conform ใด ๆ ได้รับไปใช้ฟรี
{
id: { }
}
{
name: { }
}
{
() -> { }
}
: , {
id:
name:
}
(id: , name: ).describe()
