Protocol Oriented
Programming
Luis Chávez - @Spr_Luis
Protocol Oriented Programming
Luis Chávez - @Spr_Luis
Dave Abrahams - Technical lead,
Swift standard library Apple
Protocol Oriented Programming
Luis Chávez - @Spr_Luis
“Swift is a protocol-oriented
programming language.”
Protocol Oriented Programming
Luis Chávez - @Spr_Luis
Swift 1.2
Presentación como tal del
lenguaje, un cambio en la
sintaxis.
Swift 2.0 Protocol extensions.
Protocol Oriented Programming
Luis Chávez - @Spr_Luis
¿Qué es un protocolo?
• Funciones, propiedad y otras implementaciones
que deben ser implementados por una clase,
estructura o enumeración.
• Por sí solo el protocolo no tienen una
implementación.
Object Oriented
Programming
Luis Chávez - @Spr_Luis
Abstracción del mundo real.
Object
Oriented
Programming
Luis Chávez - @Spr_Luis
Protocol
Oriented
Programming
Atributos
Métodos
Instancias
Protocolos
Estructuras
Extensiones
Protocol Oriented Programming
Luis Chávez - @Spr_Luis
Ventajas de la OOP
• Encapsulamiento.
• Control de acceso.
• Abstracción.
• Etc.
Protocol Oriented Programming
Luis Chávez - @Spr_Luis
Desventajas de la OOP
• Datos son por referencia -> Perdida de objetos.
• Herencia no deseada.
• Propiedades deben ser inicializadas.
Protocol Oriented Programming
Luis Chávez - @Spr_Luis
Ventajas de la POP
• Encapsulamiento.
• Control de acceso.
• Abstracción.
• Datos por valor. Realiza una copia.
• No hay que inicializar datos cuando usamos
struct.
• No hay instancias.
Protocol Oriented Programming
Luis Chávez - @Spr_Luis
En pocas palabras…
las extensiones de los protocolos, permiten
mejorar todo un conjunto de tipos, sin hacer
ajustes en subclases, estructuras o enumeraciones
de forma individual.
Protocol Oriented
Programming
Luis Chávez - @Spr_Luis

Intro Protocol Oriented Programming