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
74
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
68
Aprendizados de um projeto Elixir OTP
amandasposito
4
580
Como concorrência funciona em Elixir?
amandasposito
1
220
Programação Funcional & Elixir
amandasposito
3
120
Ecto, você sabe o que é ?
amandasposito
4
240
Novidades no Rails 5
amandasposito
0
96
Rails Engines & RSpec
amandasposito
0
220
Elixir e Phoenix
amandasposito
3
560
Elixir em 5 minutos
amandasposito
1
91
Other Decks in Technology
See All in Technology
Kubernetes self-healing of your workload
hwchiu
0
560
QA業務を変える(!?)AIを併用した不具合分析の実践
ma2ri
0
150
Observability — Extending Into Incident Response
nari_ex
1
490
生成AI時代のPythonセキュリティとガバナンス
abenben
0
140
Open Table Format (OTF) が必要になった背景とその機能 (2025.10.28)
simosako
2
340
JSConf JPのwebsiteをGatsbyからNext.jsに移行した話 - Next.jsの多言語静的サイトと課題
leko
2
190
re:Inventに行くまでにやっておきたいこと
nagisa53
0
400
事業開発におけるDify活用事例
kentarofujii
5
1.5k
FinOps について (ちょっと) 本気出して考えてみた
skmkzyk
0
220
ソフトウェアエンジニアの生成AI活用と、これから
lycorptech_jp
PRO
0
910
AI機能プロジェクト炎上の 3つのしくじりと学び
nakawai
0
120
Zero Trust DNS でより安全なインターネット アクセス
murachiakira
0
100
Featured
See All Featured
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
Music & Morning Musume
bryan
46
6.9k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Into the Great Unknown - MozCon
thekraken
40
2.1k
Designing for Performance
lara
610
69k
Fireside Chat
paigeccino
41
3.7k
Leading Effective Engineering Teams in the AI Era
addyosmani
7
640
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
Making the Leap to Tech Lead
cromwellryan
135
9.6k
Product Roadmaps are Hard
iamctodd
PRO
55
11k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.7k
The Invisible Side of Design
smashingmag
302
51k
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