Click here to load reader
Upload
nscoder-mexico
View
150
Download
2
Embed Size (px)
Citation preview
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.2Presentació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