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
48
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
47
Aprendizados de um projeto Elixir OTP
amandasposito
4
380
Como concorrência funciona em Elixir?
amandasposito
1
200
Programação Funcional & Elixir
amandasposito
3
110
Ecto, você sabe o que é ?
amandasposito
4
200
Novidades no Rails 5
amandasposito
0
75
Rails Engines & RSpec
amandasposito
0
200
Elixir e Phoenix
amandasposito
3
520
Elixir em 5 minutos
amandasposito
1
79
Other Decks in Technology
See All in Technology
How to Lead? Testimonial of a Lead Android Engineer
oleur
1
120
DX企業CTOとして考える技術への向き合い方
shoheitai
0
120
LLM開発・活用の舞台裏@2024.04.25
yushin_n
3
1.4k
自らを知り外と繋がる、日経のエンジニア採用とDevRel活動/devreljp92
nishiuma
2
190
Kaggleで学ぶ系列データのための深層学習モデリング
yu4u
7
960
Google Cloud Next '24 Recap(Cloud Run/k8s)
mokocm
0
370
AWS アーキテクチャ作図入門/aws-architecture-diagram-101
ma2shita
16
6.5k
Microsoft for Startups Founders Hub_20240429 update
daikikanemitsu
1
2.5k
AWSに詳しくない人でも始められるコスト最適化ガイド
yuhta28
2
420
Gemini, Google's Large Language Model
glaforge
0
120
個人のAWSアカウントをマルチ運用してみた
miura55
2
250
家族アルバム みてねにおけるGrafana活用術 / Grafana Meetup Japan Vol.1 LT
isaoshimizu
1
1.1k
Featured
See All Featured
Navigating Team Friction
lara
179
13k
Mobile First: as difficult as doing things right
swwweet
217
8.6k
How to train your dragon (web standard)
notwaldorf
75
5.2k
No one is an island. Learnings from fostering a developers community.
thoeni
16
2.1k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
660
120k
For a Future-Friendly Web
brad_frost
172
9k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
352
28k
WebSockets: Embracing the real-time Web
robhawkes
59
7k
Imperfection Machines: The Place of Print at Facebook
scottboms
261
12k
Agile that works and the tools we love
rasmusluckow
325
20k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
228
16k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
501
140k
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