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
67
Aprendizados de um projeto Elixir OTP
amandasposito
4
550
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
210
Elixir e Phoenix
amandasposito
3
560
Elixir em 5 minutos
amandasposito
1
91
Other Decks in Technology
See All in Technology
データモデリング通り #2オンライン勉強会 ~方法論の話をしよう~
datayokocho
0
190
歴代のWeb Speed Hackathonの出題から考えるデグレしないパフォーマンス改善
shuta13
6
530
新卒(ほぼ)専業Kagglerという選択肢
nocchi1
0
640
工業高校で学習したとあるエンジニアのキャリアの話
shirayanagiryuji
0
120
Amazon Bedrock AgentCoreのフロントエンドを探す旅 (Next.js編)
kmiya84377
1
160
Backlog AI アシスタントが切り開く未来
vvatanabe
1
170
生成AI利用プログラミング:誰でもプログラムが書けると 世の中どうなる?/opencampus202508
okana2ki
0
160
LLM 機能を支える Langfuse / ClickHouse のサーバレス化
yuu26
9
2.7k
いかにして命令の入れ替わりについて心配するのをやめ、メモリモデルを愛するようになったか(改)
nullpo_head
7
2.7k
20250818_KGX・One Hokkaidoコラボイベント
tohgeyukihiro
0
110
モノレポにおけるエラー管理 ~Runbook自動生成とチームメンションの最適化
biwashi
0
380
プロダクトエンジニアリングで開発の楽しさを拡張する話
barometrica
0
210
Featured
See All Featured
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.6k
Music & Morning Musume
bryan
46
6.7k
Practical Orchestrator
shlominoach
190
11k
The Language of Interfaces
destraynor
160
25k
The Invisible Side of Design
smashingmag
301
51k
Designing Experiences People Love
moore
142
24k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.8k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
30
9.6k
Speed Design
sergeychernyshev
32
1.1k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3k
Designing for humans not robots
tammielis
253
25k
Producing Creativity
orderedlist
PRO
347
40k
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