Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
SOLID - Dependency inversion principle
Search
Amanda
October 09, 2018
Technology
0
76
SOLID - Dependency inversion principle
Amanda
October 09, 2018
Tweet
Share
More Decks by Amanda
See All by Amanda
Lessons Learned From an Elixir OTP Project
amandasposito
2
75
Aprendizados de um projeto Elixir OTP
amandasposito
4
580
Como concorrência funciona em Elixir?
amandasposito
1
230
Programação Funcional & Elixir
amandasposito
3
120
Ecto, você sabe o que é ?
amandasposito
4
240
Novidades no Rails 5
amandasposito
0
97
Rails Engines & RSpec
amandasposito
0
220
Elixir e Phoenix
amandasposito
3
570
Elixir em 5 minutos
amandasposito
1
92
Other Decks in Technology
See All in Technology
OpenShiftのBGPサポート - MetalLB+FRR-k8s編
orimanabu
0
130
20251127 BigQueryリモート関数で作る、お手軽AIバッチ実行環境
daimatz
0
400
LangChain v1.0にトライ~ AIエージェントアプリの移行(v0.3 → v1.0) ~
happysamurai294
0
150
AI駆動開発によるDDDの実践
dip_tech
PRO
0
170
Docker, Infraestructuras seguras y Hardening
josejuansanchez
0
130
AI駆動開発2025年振り返りとTips集
knr109
1
150
【保存版】「ガチャ」からの脱却:Gemini × Veoで作る、意図を反映するAI動画制作ワークフロー
nekoailab
0
120
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
9.8k
研究開発部メンバーの働き⽅ / Sansan R&D Profile
sansan33
PRO
3
21k
インフラ室事例集
mixi_engineers
PRO
2
170
レガシーシステム刷新における TypeSpec スキーマ駆動開発のすゝめ
tsukuha
4
890
Dify on AWS の選択肢
ysekiy
0
120
Featured
See All Featured
Why You Should Never Use an ORM
jnunemaker
PRO
60
9.6k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.2k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.3k
The Cost Of JavaScript in 2023
addyosmani
55
9.3k
Facilitating Awesome Meetings
lara
57
6.6k
Embracing the Ebb and Flow
colly
88
4.9k
Typedesign – Prime Four
hannesfritz
42
2.9k
Docker and Python
trallard
46
3.7k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
127
54k
Writing Fast Ruby
sferik
630
62k
Practical Orchestrator
shlominoach
190
11k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.8k
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