Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Duck Typing
Search
Javier Cervantes
May 30, 2014
Programming
150
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Duck Typing
Based on chapter #5 of POODR.
Given at rubygdl.org.
Javier Cervantes
May 30, 2014
Transcript
13 slides
Duck Typing @ruby_gdl << @solojavier # Based on chapter 5
of book poodr.com
What is Duck Typing "If an object quacks like a
duck and walks like a duck, then it's a duck" Technique that help us reduce cost of change Public interfaces not tied to any specific class Duck typed objects are chameleons that are defined more by their behaviour than by their class
Learning by example
None
None
requirements.change!
None
None
code_design.add(:duck_typing)
None
None
None
Summary Duck typing detaches public interfaces from classes It creates
virtual types defined by behaviour Depending on this abstractions increases flexibility This will make your application easier to change
More Decks by Javier Cervantes
See All by Javier Cervantes
Continuous Delivery para todos @ SGNext
solojavier
0
160
Gobot.io y el internet de las cosas
solojavier
0
130
Deliberate Practice - Lightning Talk
solojavier
0
180
Golang - WePow Talks
solojavier
0
85
Server Provisioning and Configuration
solojavier
0
83
Evolución Robótica
solojavier
0
86
Re-evolución robótica
solojavier
0
140
Artoo : Ruby on robots
solojavier
0
160
Las pruebas primero
solojavier
0
110
Other Decks in Programming
See All in Programming
protojson における文字化けの扱い
kazuki1023
0
420
エージェントを使い続けるためのメタワーク / Meta-work for keeping using the agent
rkaga
6
2.3k
小さなアプリを作って公開するまで
onozaty
0
170
クラウドエージェントは、 何がそんなに便利なのか / what makes cloud agents so useful
rkaga
5
860
クラウドゲーミングのパフォーマンス最適化に挑む / Cloud Gaming Performance Tuning
vivion
0
330
FactoryBotをやめればRSpecは速くなるのか?
yuta_onishi_97
0
1.7k
Railsバージョンを4倍にした話
optim
0
1k
Rails初心者がパスキーを実装してみて大変だったこと
ktombow
0
190
動画プレイヤーはなぜカクつくのか 〜Flutterのレンダリングとネイティブの境界を解剖する〜
naruogram
0
340
Snowflake Openflow Connector利用の勘所 / 20261024developersio2026tokyo-snowflake-openflow
kasacchiful
PRO
0
340
Coding with AI: How to trust the storyteller (AWS Community Day Adria, Ljubljana 2026)
slobodan
0
150
学びを記事・スライド・Xへ高速展開する― AI-assisted Learning Loopで回すコンテンツ生成術
ochtum
0
210
Featured
See All Featured
Rebuilding a faster, lazier Slack
samanthasiow
85
9.8k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
How to Ace a Technical Interview
jacobian
280
24k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
590
Music & Morning Musume
bryan
48
7.5k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
620
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
880
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
2
400
Done Done
chrislema
187
17k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
2
520
Building Flexible Design Systems
yeseniaperezcruz
330
41k