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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Amanda
October 09, 2018
Technology
89
0
Share
SOLID - Dependency inversion principle
Amanda
October 09, 2018
More Decks by Amanda
See All by Amanda
Lessons Learned From an Elixir OTP Project
amandasposito
2
95
Aprendizados de um projeto Elixir OTP
amandasposito
4
630
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
100
Rails Engines & RSpec
amandasposito
0
230
Elixir e Phoenix
amandasposito
3
580
Elixir em 5 minutos
amandasposito
1
98
Other Decks in Technology
See All in Technology
ふりかえりがなかった職能横断チームにふりかえりを導入してみて学んだこと 〜チームのふりかえりを「みんなで未来を考える場」にするプロローグ設計〜
masahiro1214shimokawa
0
230
3つのボトルネックを解消し、リリースエンジニアリングを再定義した話
nealle
0
200
2026年度新卒技術研修 サイバーエージェントのデータベース 活用事例とパフォーマンス調査入門
cyberagentdevelopers
PRO
3
4.6k
【PHPカンファレンス小田原2026】Webアプリケーションエンジニアにも知ってほしい オブザーバビリティ の本質
fendo181
0
320
ADOTで始めるサーバレスアーキテクチャのオブザーバビリティ
alchemy1115
2
260
Autonomous Database - Dedicated 技術詳細 / adb-d_technical_detail_jp
oracle4engineer
PRO
5
13k
40代からのアウトプット ― 経験は価値ある学びに変わる / 20260404 Naoki Takahashi
shift_evolve
PRO
5
900
「できない」のアウトプット 同人誌『精神を壊してからの』シリーズ出版を 通して得られたこと
comi190327
3
620
推し活エージェント
yuntan_t
1
870
スクラムを支える内部品質の話
iij_pr
0
320
バックオフィスPJのPjMをコーポレートITが担うとうまくいく3つの理由
yueda256
1
290
🀄️ on swiftc
giginet
PRO
0
130
Featured
See All Featured
Measuring & Analyzing Core Web Vitals
bluesmoon
9
800
Are puppies a ranking factor?
jonoalderson
1
3.2k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
790
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
480
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
250
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
160
For a Future-Friendly Web
brad_frost
183
10k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
160
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
260
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
210
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.7k
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