Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Protocol Oriented Programming
Search
zezzi
December 11, 2017
Technology
61
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Protocol Oriented Programming
zezzi
December 11, 2017
More Decks by zezzi
See All by zezzi
Swiftlint
zezzi
0
89
Kotlin & Swift
zezzi
1
98
Angular JS
zezzi
0
280
WTM Google Glass 2014
zezzi
2
920
WTMLima 2014
zezzi
0
140
Other Decks in Technology
See All in Technology
FPC(フレキシブル)基板にZephyr実装してみた。
iotengineer22
0
160
千葉での単身赴任からAWSをやり続け、千葉に戻ってきた話
yama3133
1
110
When Platform Engineering Meets GenAI
sucitw
0
170
自宅LLMの話
jacopen
1
710
PostgreSQL 19 新機能概要 OSC Hokkaido 2026
nori_shinoda
0
230
新しいUbuntu/GNOMEが使いたいからXからWaylandへ移行頑張ってるの巻 2026-06-20
nobutomurata
0
160
AI-DLCを “そのまま導入しなかった”話 ~組織に合わせてアジャストした 私たちの実践共有~
hiroramos4
PRO
1
400
Comment regagner la souveraineté de vos données tout en étant payé grâce à Nostr !
rlifchitz
0
180
SONiCのLinuxベースを活かしたZabbix監視
sonic
0
280
あなたの知らないPDFのアクセシビリティ
lycorptech_jp
PRO
0
230
Claude Codeをどのように キャッチアップしているか
oikon48
13
8.8k
GitHub Copilot app最速の発信の裏側
tomokusaba
1
240
Featured
See All Featured
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.6k
How Software Deployment tools have changed in the past 20 years
geshan
0
34k
Writing Fast Ruby
sferik
630
63k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
400
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Git: the NoSQL Database
bkeepers
PRO
432
67k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
430
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.3k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.4k
A Soul's Torment
seathinner
6
3k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.1k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
580
Transcript
PROTOCOL ORIENTED PROGRAMMING
TEXT OBJECT ORIENTED PROGRAMMING ▸ Object Oriented Programming: Design is
focused on Objects. ▸ Interfaces: Are a contract of what needs to be implemented. And are used as a way to achieve polymorphism. They are a back seat.
TEXT DOG EXAMPLE
TEXT DOG EXAMPLE Code Duplication
TEXT DOG EXAMPLE German Shepard is not a service
dog Pug does not sniff Drugs
TEXT DOG CLASS SERVICE DOG SECURITY DOG PASTOR ALEMAN LABRADOR
TEXT DOG CLASS SERVICE DOG SECURITY DOG PASTOR ALEMAN LABRADOR
TEXT PROTOCOL ORIENTED PROGRAMMING DOGS EXAMPLE
TEXT PROTOCOL ORIENTED PROGRAMMING DOGS EXAMPLE
TEXT DOG PROTOCOL DOG PROTOCOL EXTENSION SERVICE DOG PROTOCOL SECURITY
DOG PROTOCOL PASTOR ALEMAN LABRADOR SERVICE DOG PROTOCOL EXTENSION SERVICE DOG PROTOCOL EXTENSION
TEXT IMPLICIT SHARING
TEXT INHERITANCE TO INTRUSIVE ▸ 1 super class ▸ Bloating
your super class ▸ Changes can become difficult when inheritance is over used.
TEXT WHY? ▸ Why do we want to use protocols?
TEXT PROTOCOLS ▸ The “I” in SOLID ▸ No client
should depend on (or know about) methods it does not use ▸ Makes code modular ▸ Testable ▸ Small separated interfaces == focused API ▸ Restrict access
TEXT PROTOCOL SYNTAX, INHERITANCE, COMPOSITION
DAY TO DAY PROTOCOL USAGE
TEXT
TEXT
TEXT
TEXT
TEXT
TEXT
TEXT
TEXT
TEXT
TEXT
OTHER AREAS CORE DATA
TEXT
TEXT
TEXT VALIDATION
TEXT
TEXT
TEXT