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
0
81
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
89
Aprendizados de um projeto Elixir OTP
amandasposito
4
590
Como concorrência funciona em Elixir?
amandasposito
1
230
Programação Funcional & Elixir
amandasposito
3
130
Ecto, você sabe o que é ?
amandasposito
4
240
Novidades no Rails 5
amandasposito
0
99
Rails Engines & RSpec
amandasposito
0
230
Elixir e Phoenix
amandasposito
3
570
Elixir em 5 minutos
amandasposito
1
93
Other Decks in Technology
See All in Technology
Amazon ElastiCacheのコスト最適化を考える/Elasticache Cost Optimization
quiver
0
310
3分でわかる!新機能 AWS Transform custom
sato4mi
1
270
BPaaSオペレーション・kubell社内 n8n活用による効率化検証事例紹介
kentarofujii
0
320
AI開発の落とし穴 〜馬には乗ってみよAIには添うてみよ〜
sansantech
PRO
10
5.5k
toCプロダクトにおけるAI機能開発のしくじりと学び / ai-product-failures-and-learnings
rince
6
4.6k
ブロックテーマでサイトをリニューアルした話 / 2026-01-31 Kansai WordPress Meetup
torounit
0
170
AI推進者の視点で見る、Bill OneのAI活用の今
sansantech
PRO
2
280
IaaS/SaaS管理における SREの実践 - SRE Kaigi 2026
bbqallstars
0
350
ゼロから始めたFindy初のモバイルアプリ開発
grandbig
2
530
Embedded SREの終わりを設計する 「なんとなく」から計画的な自立支援へ
sansantech
PRO
1
110
Amazon Bedrock AgentCore EvaluationsでAIエージェントを評価してみよう!
yuu551
0
190
フロントエンド開発者のための「厄払い」
optim
0
180
Featured
See All Featured
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
420
BBQ
matthewcrist
89
10k
Being A Developer After 40
akosma
91
590k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
0
190
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
160
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
48
Code Review Best Practice
trishagee
74
20k
Bash Introduction
62gerente
615
210k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.7k
Thoughts on Productivity
jonyablonski
74
5k
Scaling GitHub
holman
464
140k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.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