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
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Amanda
October 09, 2018
Technology
0
86
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
94
Aprendizados de um projeto Elixir OTP
amandasposito
4
600
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
97
Other Decks in Technology
See All in Technology
マイグレーションガイドに書いてないRiverpod 3移行話
taiju59
0
340
DX Improvement at Scale
ntk1000
2
120
大規模な組織におけるAI Agent活用の促進と課題
lycorptech_jp
PRO
5
7.6k
自動テストが巻き起こした開発プロセス・チームの変化 / Impact of Automated Testing on Development Cycles and Team Dynamics
codmoninc
0
840
男(監査)はつらいよ - Policy as CodeからAIエージェントへ
ken5scal
5
700
Data Hubグループ 紹介資料
sansan33
PRO
0
2.8k
型を書かないRuby開発への挑戦
riseshia
0
130
チームメンバー迷わないIaC設計
hayama17
5
3.5k
Webアクセシビリティ技術と実装の実際
tomokusaba
0
190
Exadata Fleet Update
oracle4engineer
PRO
0
1.3k
三菱UFJ銀行におけるエンタープライズAI駆動開発のリアル / Enterprise AI_Driven Development at MUFG Bank: The Real Story
muit
10
20k
Datadog Cloud Cost Management で実現するFinOps
taiponrock
PRO
0
100
Featured
See All Featured
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
96
Code Review Best Practice
trishagee
74
20k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Done Done
chrislema
186
16k
Balancing Empowerment & Direction
lara
5
930
Prompt Engineering for Job Search
mfonobong
0
180
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
140
Testing 201, or: Great Expectations
jmmastey
46
8.1k
Unsuck your backbone
ammeep
672
58k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
180
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1k
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