Enviar pesquisa
Carregar
Deixando seu código mais POP
•
Transferir como PPTX, PDF
•
1 gostou
•
446 visualizações
Bruno Bilescky
Seguir
Palestra para o 20º CocoaHeads de São Paulo sobre programação orientada a protocolo
Leia menos
Leia mais
Tecnologia
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 25
Baixar agora
Recomendados
Dojo swift - Aula 1 - Introdução
Dojo swift - Aula 1 - Introdução
Gustavo Barbosa
Paradigmas de Programação
Paradigmas de Programação
Natanael Simões
Palestra BrOffice.org
Palestra BrOffice.org
Fábio Emilio Costa
Paradigmas de Linguagens de Programação - Quatro Paradigmas + Ambientes de Pr...
Paradigmas de Linguagens de Programação - Quatro Paradigmas + Ambientes de Pr...
Adriano Teixeira de Souza
Extreme Experience 2018 | Python para quem sabe Delphi
Extreme Experience 2018 | Python para quem sabe Delphi
Mario Guedes
Processo de Desenvolvimento de Software - Linguagens Imperativas x Declarativas
Processo de Desenvolvimento de Software - Linguagens Imperativas x Declarativas
Natanael Simões
Paradigmas de programação
Paradigmas de programação
Sérgio Souza Costa
Paradigmas de Linguagens de Programação - Classificações
Paradigmas de Linguagens de Programação - Classificações
Adriano Teixeira de Souza
Recomendados
Dojo swift - Aula 1 - Introdução
Dojo swift - Aula 1 - Introdução
Gustavo Barbosa
Paradigmas de Programação
Paradigmas de Programação
Natanael Simões
Palestra BrOffice.org
Palestra BrOffice.org
Fábio Emilio Costa
Paradigmas de Linguagens de Programação - Quatro Paradigmas + Ambientes de Pr...
Paradigmas de Linguagens de Programação - Quatro Paradigmas + Ambientes de Pr...
Adriano Teixeira de Souza
Extreme Experience 2018 | Python para quem sabe Delphi
Extreme Experience 2018 | Python para quem sabe Delphi
Mario Guedes
Processo de Desenvolvimento de Software - Linguagens Imperativas x Declarativas
Processo de Desenvolvimento de Software - Linguagens Imperativas x Declarativas
Natanael Simões
Paradigmas de programação
Paradigmas de programação
Sérgio Souza Costa
Paradigmas de Linguagens de Programação - Classificações
Paradigmas de Linguagens de Programação - Classificações
Adriano Teixeira de Souza
Coding Dojo #GuruPI
Coding Dojo #GuruPI
Mateus Pontes
Dynamic Types no C# 4.0
Dynamic Types no C# 4.0
Vinicius Quaiato
NãNãNã Nã - Python Refresca até Pensamento
NãNãNã Nã - Python Refresca até Pensamento
Osvaldo Santana Neto
Mulheres desenvolvendo C#
Mulheres desenvolvendo C#
Lhaís Rodrigues
#Dojo1 - GIT no TCDF
#Dojo1 - GIT no TCDF
Rodrigo Régis Palmeira
02 - Introdução a linguagem C# v1.0
02 - Introdução a linguagem C# v1.0
César Augusto Pessôa
Critérios de avaliação de linguagens
Critérios de avaliação de linguagens
Paulo Muniz
Pensando fora da caixa
Pensando fora da caixa
William "Kina"
Ruby
Ruby
Andre Teixeira
Algoritmos - Paradigmas de Programação
Algoritmos - Paradigmas de Programação
Elaine Cecília Gatto
Python WTFAQ?
Python WTFAQ?
Osvaldo Santana Neto
Paradigmas De Linguagem De Programação.
Paradigmas De Linguagem De Programação.
Valmon Gaudencio
Coding Dojo - Apresentação / Instruções
Coding Dojo - Apresentação / Instruções
Pablo Bender
Por Que Python É Tão Lento?
Por Que Python É Tão Lento?
Rudá Moura
Microsoft C#
Microsoft C#
Lhaís Rodrigues
Coding Dojo - Pycon Br 2008 - PT-BR
Coding Dojo - Pycon Br 2008 - PT-BR
Hugo Corbucci
Plp aula-02-critérios de avaliação
Plp aula-02-critérios de avaliação
José Meirelles
Paradigmas de Linguagem
Paradigmas de Linguagem
Flávio Ricardo B. Meira
Paradigmas de Linguagens de Programação - Introdução
Paradigmas de Linguagens de Programação - Introdução
Adriano Teixeira de Souza
AgileDay2012 - Resumo Coding By Example
AgileDay2012 - Resumo Coding By Example
Wildtech
Talking musika akta euskaraz
Talking musika akta euskaraz
Olatz Salvador Zaldua
โชว์รูปภาพในรูปแบบอัลบั้มภาพใน Powerpoint
โชว์รูปภาพในรูปแบบอัลบั้มภาพใน Powerpoint
Kanchanatep Thongnum
Mais conteúdo relacionado
Mais procurados
Coding Dojo #GuruPI
Coding Dojo #GuruPI
Mateus Pontes
Dynamic Types no C# 4.0
Dynamic Types no C# 4.0
Vinicius Quaiato
NãNãNã Nã - Python Refresca até Pensamento
NãNãNã Nã - Python Refresca até Pensamento
Osvaldo Santana Neto
Mulheres desenvolvendo C#
Mulheres desenvolvendo C#
Lhaís Rodrigues
#Dojo1 - GIT no TCDF
#Dojo1 - GIT no TCDF
Rodrigo Régis Palmeira
02 - Introdução a linguagem C# v1.0
02 - Introdução a linguagem C# v1.0
César Augusto Pessôa
Critérios de avaliação de linguagens
Critérios de avaliação de linguagens
Paulo Muniz
Pensando fora da caixa
Pensando fora da caixa
William "Kina"
Ruby
Ruby
Andre Teixeira
Algoritmos - Paradigmas de Programação
Algoritmos - Paradigmas de Programação
Elaine Cecília Gatto
Python WTFAQ?
Python WTFAQ?
Osvaldo Santana Neto
Paradigmas De Linguagem De Programação.
Paradigmas De Linguagem De Programação.
Valmon Gaudencio
Coding Dojo - Apresentação / Instruções
Coding Dojo - Apresentação / Instruções
Pablo Bender
Por Que Python É Tão Lento?
Por Que Python É Tão Lento?
Rudá Moura
Microsoft C#
Microsoft C#
Lhaís Rodrigues
Coding Dojo - Pycon Br 2008 - PT-BR
Coding Dojo - Pycon Br 2008 - PT-BR
Hugo Corbucci
Plp aula-02-critérios de avaliação
Plp aula-02-critérios de avaliação
José Meirelles
Paradigmas de Linguagem
Paradigmas de Linguagem
Flávio Ricardo B. Meira
Paradigmas de Linguagens de Programação - Introdução
Paradigmas de Linguagens de Programação - Introdução
Adriano Teixeira de Souza
AgileDay2012 - Resumo Coding By Example
AgileDay2012 - Resumo Coding By Example
Wildtech
Mais procurados
(20)
Coding Dojo #GuruPI
Coding Dojo #GuruPI
Dynamic Types no C# 4.0
Dynamic Types no C# 4.0
NãNãNã Nã - Python Refresca até Pensamento
NãNãNã Nã - Python Refresca até Pensamento
Mulheres desenvolvendo C#
Mulheres desenvolvendo C#
#Dojo1 - GIT no TCDF
#Dojo1 - GIT no TCDF
02 - Introdução a linguagem C# v1.0
02 - Introdução a linguagem C# v1.0
Critérios de avaliação de linguagens
Critérios de avaliação de linguagens
Pensando fora da caixa
Pensando fora da caixa
Ruby
Ruby
Algoritmos - Paradigmas de Programação
Algoritmos - Paradigmas de Programação
Python WTFAQ?
Python WTFAQ?
Paradigmas De Linguagem De Programação.
Paradigmas De Linguagem De Programação.
Coding Dojo - Apresentação / Instruções
Coding Dojo - Apresentação / Instruções
Por Que Python É Tão Lento?
Por Que Python É Tão Lento?
Microsoft C#
Microsoft C#
Coding Dojo - Pycon Br 2008 - PT-BR
Coding Dojo - Pycon Br 2008 - PT-BR
Plp aula-02-critérios de avaliação
Plp aula-02-critérios de avaliação
Paradigmas de Linguagem
Paradigmas de Linguagem
Paradigmas de Linguagens de Programação - Introdução
Paradigmas de Linguagens de Programação - Introdução
AgileDay2012 - Resumo Coding By Example
AgileDay2012 - Resumo Coding By Example
Destaque
Talking musika akta euskaraz
Talking musika akta euskaraz
Olatz Salvador Zaldua
โชว์รูปภาพในรูปแบบอัลบั้มภาพใน Powerpoint
โชว์รูปภาพในรูปแบบอัลบั้มภาพใน Powerpoint
Kanchanatep Thongnum
Your Digital Footprint - A Flipbook by Sinthiya Sooriyaganthan
Your Digital Footprint - A Flipbook by Sinthiya Sooriyaganthan
SinthiyaSoori
DirectCaption for Transcriptions and Closed Captions
DirectCaption for Transcriptions and Closed Captions
Direct Caption
Kamalkara
Kamalkara
Yash Soni
Things I Never Regret for Having a Degree
Things I Never Regret for Having a Degree
NicoleHart8
Course guide
Course guide
Samira Al Otaibi
пищ. добавки
пищ. добавки
Юрий Антипатров
White Paper_RIAB
White Paper_RIAB
Murugan Ranganathan PRINCE2® ,CSTE,CSTM
Presentacióntics
Presentacióntics
Liliana Casillas
SQL ELEMENTAL
SQL ELEMENTAL
Liss2
SITE Institute
SITE Institute
sulkysavior7057
งานนำเสนอ1
งานนำเสนอ1
Chatkal Sutoy
Interbit
Interbit
Szymon Pieprzyk
informa computacion
informa computacion
cinthya clemente morales
Ppt
Ppt
RosaCantikaDewi
الأمراض الشائعة في تسمين الخراف
الأمراض الشائعة في تسمين الخراف
mmkaouar
事例で学ぶ法的リスクとその対処法
事例で学ぶ法的リスクとその対処法
Kazuki Ishihara
Louis vuitton accessories
Louis vuitton accessories
Jennifer Smith
Images[smallpdf.com]
Images[smallpdf.com]
iliyla
Destaque
(20)
Talking musika akta euskaraz
Talking musika akta euskaraz
โชว์รูปภาพในรูปแบบอัลบั้มภาพใน Powerpoint
โชว์รูปภาพในรูปแบบอัลบั้มภาพใน Powerpoint
Your Digital Footprint - A Flipbook by Sinthiya Sooriyaganthan
Your Digital Footprint - A Flipbook by Sinthiya Sooriyaganthan
DirectCaption for Transcriptions and Closed Captions
DirectCaption for Transcriptions and Closed Captions
Kamalkara
Kamalkara
Things I Never Regret for Having a Degree
Things I Never Regret for Having a Degree
Course guide
Course guide
пищ. добавки
пищ. добавки
White Paper_RIAB
White Paper_RIAB
Presentacióntics
Presentacióntics
SQL ELEMENTAL
SQL ELEMENTAL
SITE Institute
SITE Institute
งานนำเสนอ1
งานนำเสนอ1
Interbit
Interbit
informa computacion
informa computacion
Ppt
Ppt
الأمراض الشائعة في تسمين الخراف
الأمراض الشائعة في تسمين الخراف
事例で学ぶ法的リスクとその対処法
事例で学ぶ法的リスクとその対処法
Louis vuitton accessories
Louis vuitton accessories
Images[smallpdf.com]
Images[smallpdf.com]
Semelhante a Deixando seu código mais POP
Apresentação final
Apresentação final
valmon
PHP Turbinado com CodeIgniter - Conisli 2011
PHP Turbinado com CodeIgniter - Conisli 2011
Evaldo Junior
Desenvolvimento de aplicações embarcadas utilizando Python
Desenvolvimento de aplicações embarcadas utilizando Python
Flávio Ribeiro
Comparando python com outras linguagens de programação
Comparando python com outras linguagens de programação
Valore I/O
POO2-Pre-32-PadroesProjetos_.pdf
POO2-Pre-32-PadroesProjetos_.pdf
AndreCosta502039
Clean Code: Por um mundo com códigos melhores - SETI 2017
Clean Code: Por um mundo com códigos melhores - SETI 2017
Thiago Barradas
Java VS Kotlin
Java VS Kotlin
André Justi
DotNet Framework e Orientação a Objetos 1 - Introdução
DotNet Framework e Orientação a Objetos 1 - Introdução
Lorival Smolski Chapuis
Bugs, DVCS e tools
Bugs, DVCS e tools
Paulo Mattos
Profissao-programador-praticas-para-melhoria-continua-unimonte-outubro-2013
Profissao-programador-praticas-para-melhoria-continua-unimonte-outubro-2013
Gabriel Rubens
Django - A sua cápsula de soluções web em python
Django - A sua cápsula de soluções web em python
Paula Grangeiro
Junho 2016 - Django - A sua cápsula de soluções web em python
Junho 2016 - Django - A sua cápsula de soluções web em python
Grupo de Testes Carioca
Apresentação c++ UFC-Quixadá
Apresentação c++ UFC-Quixadá
Universidade Federal do Ceará
Crescendo profissionalmente com o apoio comunidade
Crescendo profissionalmente com o apoio comunidade
Felipe Nascimento
python_para_desenvolvedores.pdf
python_para_desenvolvedores.pdf
ProfIvanSaboia
A Arte do Código Limpo
A Arte do Código Limpo
Juliana Fideles
Automação de testes para equipes agile
Automação de testes para equipes agile
Alini Rebonatto
Tdd e projeto_comperio
Tdd e projeto_comperio
Renan Silva Baptista Cabral
Code Smells: o que eles dizem sobre seu código?
Code Smells: o que eles dizem sobre seu código?
Elaine Naomi
Análise de sistemas oo 1
Análise de sistemas oo 1
Maurício Linhares
Semelhante a Deixando seu código mais POP
(20)
Apresentação final
Apresentação final
PHP Turbinado com CodeIgniter - Conisli 2011
PHP Turbinado com CodeIgniter - Conisli 2011
Desenvolvimento de aplicações embarcadas utilizando Python
Desenvolvimento de aplicações embarcadas utilizando Python
Comparando python com outras linguagens de programação
Comparando python com outras linguagens de programação
POO2-Pre-32-PadroesProjetos_.pdf
POO2-Pre-32-PadroesProjetos_.pdf
Clean Code: Por um mundo com códigos melhores - SETI 2017
Clean Code: Por um mundo com códigos melhores - SETI 2017
Java VS Kotlin
Java VS Kotlin
DotNet Framework e Orientação a Objetos 1 - Introdução
DotNet Framework e Orientação a Objetos 1 - Introdução
Bugs, DVCS e tools
Bugs, DVCS e tools
Profissao-programador-praticas-para-melhoria-continua-unimonte-outubro-2013
Profissao-programador-praticas-para-melhoria-continua-unimonte-outubro-2013
Django - A sua cápsula de soluções web em python
Django - A sua cápsula de soluções web em python
Junho 2016 - Django - A sua cápsula de soluções web em python
Junho 2016 - Django - A sua cápsula de soluções web em python
Apresentação c++ UFC-Quixadá
Apresentação c++ UFC-Quixadá
Crescendo profissionalmente com o apoio comunidade
Crescendo profissionalmente com o apoio comunidade
python_para_desenvolvedores.pdf
python_para_desenvolvedores.pdf
A Arte do Código Limpo
A Arte do Código Limpo
Automação de testes para equipes agile
Automação de testes para equipes agile
Tdd e projeto_comperio
Tdd e projeto_comperio
Code Smells: o que eles dizem sobre seu código?
Code Smells: o que eles dizem sobre seu código?
Análise de sistemas oo 1
Análise de sistemas oo 1
Deixando seu código mais POP
1.
Deixando o seu
código mais POP com programação orientada a protocolos
2.
O que são?
3.
Protocolos são como
contratos que sua classe/objeto/estrutura concorda em cumprir.
4.
Mas qual de
fato a utilidade deles?
5.
• Delegates - Métodos
obrigatórios - Métodos opcionais obj-c
6.
• Traits • Delegates -
Métodos obrigatórios - Métodos opcionais • PAT - associatedtype swift
7.
Traits = Extensão
de Protocols
8.
Protocolos em Swift
permitem que desenvolvedores aprimorem um conjunto de tipos sem duplicação de código
9.
Ao invés de
criar uma classe, comece com um protocolo
10.
Ao invés de
criar uma classe, comece com um protocolo Se não der certo tente uma Struct
11.
Exemplo clássico dos
animais
12.
13.
Agora um problema
um pouco menos abstrato
14.
15.
16.
17.
associatedtype
18.
19.
20.
21.
BaseViewController
22.
func displayError() func userDidLogout() ….
muitas mais funções
23.
24.
Perguntas? Bruno Bilescky iOS Developer
@VivaReal @bgondim github.com/brunogb
25.
Muito Obrigado! Estamos contratando!!!
Baixar agora