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
AI駆動開発を事業のコアに置く
tasukuonizawa
1
1.6k
Getting started with Google Antigravity
meteatamel
0
200
チーム開発の基礎_研究を事業につなげるために
cyberagentdevelopers
PRO
7
3.5k
既存のログ監視システムをクラウドっぽく実装してみた
tjmtrhs
0
110
ECSネイティブのBlue/Green デプロイを攻略しよう ~CodeDeployとの違いから、デプロイフロー実装まで~
ideaws
3
280
1,000 にも届く AWS Organizations 組織のポリシー運用をちゃんとしたい、という話
kazzpapa3
1
260
使って学ぼう MCP (と GitHub Codespaces)
tsubakimoto_s
1
180
AIで「ふとした疑問」を即座に検証する 〜定量で圧倒するN1理解〜
kakehashi
PRO
2
430
Oracle Database@Azure:サービス概要のご紹介
oracle4engineer
PRO
3
710
意外と知ってそうでしらない、Reserved Instances の世界
mappie_kochi
0
160
ファイルシステムの不整合
sat
PRO
2
110
30分でわかるアーキテクチャモダナイゼーション
nwiizo
4
2.5k
Featured
See All Featured
Prompt Engineering for Job Search
mfonobong
0
170
Everyday Curiosity
cassininazir
0
140
Done Done
chrislema
186
16k
The Language of Interfaces
destraynor
162
26k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
Claude Code のすすめ
schroneko
67
210k
AI: The stuff that nobody shows you
jnunemaker
PRO
2
300
Designing for humans not robots
tammielis
254
26k
Optimising Largest Contentful Paint
csswizardry
37
3.6k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.8k
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.4k
The Spectacular Lies of Maps
axbom
PRO
1
550
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