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
70
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
63
Aprendizados de um projeto Elixir OTP
amandasposito
4
520
Como concorrência funciona em Elixir?
amandasposito
1
220
Programação Funcional & Elixir
amandasposito
3
120
Ecto, você sabe o que é ?
amandasposito
4
230
Novidades no Rails 5
amandasposito
0
95
Rails Engines & RSpec
amandasposito
0
210
Elixir e Phoenix
amandasposito
3
550
Elixir em 5 minutos
amandasposito
1
87
Other Decks in Technology
See All in Technology
SRE本出版からまもなく10年!〜これまでに何が起こり、これから何が起こるのか〜
katsuhisa91
PRO
0
350
MCP でモノが動くとおもしろい/It is interesting when things move with MCP
bitkey
3
550
経済メディア編集部の実務に小さく刺さるAI / small-ai-with-editorial
nkzn
2
420
ペアーズにおける評価ドリブンな AI Agent 開発のご紹介
fukubaka0825
9
2.7k
dbtとリバースETLでデータ連携の複雑さに立ち向かう
morookacube
0
870
Google Cloud Next 2025 Recap アプリケーション開発を加速する機能アップデート / Application development-related features of Google Cloud
ryokotmng
0
240
newmo の創業を支える Software Architecture と Platform Engineering
110y
5
530
CARTA HOLDINGS エンジニア向け 採用ピッチ資料 / CARTA-GUIDE-for-Engineers
carta_engineering
0
27k
非root化Androidスマホでも動く仮想マシンアプリを試してみた
arkw
0
130
データベース04: SQL (1/3) 単純質問 & 集約演算
trycycle
PRO
0
730
LLMの開発と社会実装の今と未来 / AI Builders' Community (ABC) vol.2
pfn
PRO
2
150
とあるEdTechベンチャーのシステム構成こだわりN選 / edtech-system
gotok365
5
350
Featured
See All Featured
What's in a price? How to price your products and services
michaelherold
245
12k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
52
2.5k
Adopting Sorbet at Scale
ufuk
76
9.4k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
700
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.5k
Become a Pro
speakerdeck
PRO
28
5.3k
Navigating Team Friction
lara
185
15k
Gamification - CAS2011
davidbonilla
81
5.3k
Git: the NoSQL Database
bkeepers
PRO
430
65k
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