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
SOLID - Dependency inversion principle
Search
Amanda
October 09, 2018
Technology
94
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
SOLID - Dependency inversion principle
Amanda
October 09, 2018
More Decks by Amanda
See All by Amanda
Lessons Learned From an Elixir OTP Project
amandasposito
2
100
Aprendizados de um projeto Elixir OTP
amandasposito
4
640
Como concorrência funciona em Elixir?
amandasposito
1
240
Programação Funcional & Elixir
amandasposito
3
130
Ecto, você sabe o que é ?
amandasposito
4
250
Novidades no Rails 5
amandasposito
0
100
Rails Engines & RSpec
amandasposito
0
240
Elixir e Phoenix
amandasposito
3
600
Elixir em 5 minutos
amandasposito
1
100
Other Decks in Technology
See All in Technology
SRENEXT_2026_Chairs__Talks_in_Tamachi.sre.pdf
srenext
1
130
「顧客の声を聞かなければ何も始まらない」 ── 顧客の声から生まれた『AI返信補助機能』の開発プロセス / AICon2026_shikata_imai
rakus_dev
0
260
CDKで書くECSのベストプラクティス、 改めて考え直す2026 #cdkconf2026
makies
3
920
実践!既存 Project への AI-Driven Development 適用〜 一ヶ月で Project 唯一のフロントエンドエンジニアを作り出せ〜
lycorptech_jp
PRO
0
380
クラウドを使う側から、作る側へ / 大吉祥寺.pm 2026前夜祭
fujiwara3
3
830
キャリアLT会#3
beli68
2
230
プロダクト開発組織の現在地(Ver.2026/07) / product-organization
kaonavi
0
280
Network Firewallやっていき!
news_it_enj
0
260
“それは自分の仕事じゃない"を越えて行け
yuukiyo
1
510
SoccerMaster: A Vision Foundation Model for Soccer Understanding
kzykmyzw
0
160
どこまでAIに任せるか 〜確率論と決定論の境界決定〜
shukob
0
420
PHPで作って学ぶリアルタイム音声対話AIとWebSocket入門 by ムナカタ
munakata
0
120
Featured
See All Featured
Why Our Code Smells
bkeepers
PRO
340
58k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.2k
AI: The stuff that nobody shows you
jnunemaker
PRO
9
840
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
660
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
190
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.5k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Unsuck your backbone
ammeep
672
58k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.6k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
190
Transcript
SOLID Dependency Inversion Principle
O que é? Onde vive?
Falando um pouco de SOLID...
Imagine um cenário
Temos um software novo para escrever
No começo é aquela alegria
None
As mudanças são simples, a velocidade é boa
None
None
Fragilidade "Tendência do software de quebrar em vários lugares sempre
que é alterado. Geralmente em lugares não relacionados conceitualmente com o local da mudança."
Rigidez "Tendência do software de ser difícil de mudar. Qualquer
mudança gera várias mudanças em sequência." https://fi.ort.edu.uy/innovaportal/file/2032/1/design_principles.pdf
"Abstrações não devem depender de detalhes. Detalhes devem depender de
abstrações."
None
class Copier def self.copy reader = KeyboardReader.new writer = Printer.new
keystrokes = reader.read_until_eof writer.write(keystrokes) end end
class Copier def initialize(reader, writer) @reader = reader @writer =
writer end def copy @writer.write(@reader.read_until_eof) end end
None