Протокол-ориентированное программирование (POP) — предпочтительный в Swift способ разделять поведение: вместо наследования от базового класса типы соответствуют протоколам, а расширения протоколов предоставляют переиспользуемые реализации по умолчанию. Это даёт композицию и переиспользование кода без жёсткости одиночного наследования.
Как это работает
Протокол объявляет требования; расширение этого протокола предоставляет поведение по умолчанию, которое любой соответствующий тип наследует бесплатно.
{
id: { }
}
{
name: { }
}
{
() -> { }
}
: , {
id:
name:
}
(id: , name: ).describe()
