Protocol-oriented programming (POP) არის Swift-ის სასურველი გზა ქცევის გასაზიარებლად: საბაზისო კლასიდან მემკვიდრეობის ნაცვლად, ტიპები ემორჩილებიან პროტოკოლებს, ხოლო protocol extension-ები აწვდიან მრავალჯერ გამოსაყენებელ ნაგულისხმევ იმპლემენტაციებს. ეს გაძლევს კომპოზიციასა და კოდის ხელახლა გამოყენებას ერთი მემკვიდრეობის სიხისტის გარეშე.
როგორ მუშაობს
პროტოკოლი აცხადებს მოთხოვნებს; ამ პროტოკოლზე extension აწვდის ნაგულისხმევ ქცევას, რომელსაც ნებისმიერი დამორჩილებული ტიპი უფასოდ იღებს.
{
id: { }
}
{
name: { }
}
{
() -> { }
}
: , {
id:
name:
}
(id: , name: ).describe()
