Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up
for free
SOLID - Dependency inversion principle
Amanda
October 09, 2018
Technology
0
35
SOLID - Dependency inversion principle
Amanda
October 09, 2018
Tweet
Share
More Decks by Amanda
See All by Amanda
amandasposito
2
24
amandasposito
3
98
amandasposito
1
170
amandasposito
3
91
amandasposito
3
160
amandasposito
0
51
amandasposito
0
130
amandasposito
3
420
amandasposito
1
60
Other Decks in Technology
See All in Technology
yuyaabo
0
250
kakka
0
3.4k
kaga
0
190
satoshirobatofujimoto
0
110
neo_analytics
0
1k
viva_tweet_x
5
2.6k
pinboro
1
1.5k
awsbelaraby
2
150
omn
0
570
clustervr
0
160
ocise
0
120
yukitodate
2
320
Featured
See All Featured
yeseniaperezcruz
302
31k
bryan
100
11k
keathley
17
640
bryan
30
3.3k
addyosmani
1348
190k
jnunemaker
PRO
40
4.5k
paulrobertlloyd
71
3.6k
samanthasiow
56
6.3k
myddelton
109
11k
iamctodd
17
1.8k
eitanlees
111
9.9k
lauravandoore
11
1.2k
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