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
89
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
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
Physical AI on AWS リファレンスアーキテクチャ / Physical AI on AWS Reference Architecture
aws_shota
1
140
LLMに何を任せ、何を任せないか
cap120
10
5.8k
スピンアウト講座02_ファイル管理
overflowinc
0
1.4k
Amazon Qはアマコネで頑張っています〜 Amazon Q in Connectについて〜
yama3133
1
130
Phase04_ターミナル基礎
overflowinc
0
2.5k
非同期・イベント駆動処理の分散トレーシングの繋げ方
ichikawaken
1
130
Phase09_自動化_仕組み化
overflowinc
0
1.8k
MCPで決済に楽にする
mu7889yoon
0
120
Bill One 開発エンジニア 紹介資料
sansan33
PRO
5
18k
FlutterでPiP再生を実装した話
s9a17
0
200
モジュラモノリス導入から4年間の総括:アーキテクチャと組織の相互作用について / Architecture and Organizational Interaction
nazonohito51
7
4k
ThetaOS - A Mythical Machine comes Alive
aslander
0
190
Featured
See All Featured
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
0
240
Thoughts on Productivity
jonyablonski
75
5.1k
sira's awesome portfolio website redesign presentation
elsirapls
0
200
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.8k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
300
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
89
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
160
The Limits of Empathy - UXLibs8
cassininazir
1
270
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.1k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
86
Measuring & Analyzing Core Web Vitals
bluesmoon
9
790
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
310
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