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
99
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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
110
Aprendizados de um projeto Elixir OTP
amandasposito
4
650
Como concorrência funciona em Elixir?
amandasposito
1
240
Programação Funcional & Elixir
amandasposito
3
140
Ecto, você sabe o que é ?
amandasposito
4
250
Novidades no Rails 5
amandasposito
0
100
Rails Engines & RSpec
amandasposito
0
240
Elixir e Phoenix
amandasposito
3
600
Elixir em 5 minutos
amandasposito
1
110
Other Decks in Technology
See All in Technology
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
20k
Bet AI Day 2026丨How We Bet AI: AIとともに働く場をつくる
layerx
PRO
0
230
Guerilla InnerSource in enterprises, during the AI hype
onenashev
PRO
0
130
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
54k
IHV like なユースケースへのOpenID Connect 関連仕様の適用事例
optim
0
420
Point Cloud as a Foreign Language for Multi-modal Large Language Model
takmin
0
340
Genie Code ワークショップ 応用編 / Genie-Code-Workshop-advanced
databricksjapan
PRO
0
190
AI駆動開発を組織で促すために
lycorptech_jp
PRO
7
9k
Genie Code ワークショップ 基礎編 / Genie-Code-Workshop-fundamental
databricksjapan
PRO
0
210
本番に近いテストをもっと手軽に - Postmanで広がるAPIテストの世界 / Expanding the World of API Testing with Postman
yokawasa
1
190
サーバー常駐型の 簡易障害調査AI エージェントを作ってみた話
masayoshi
1
500
Claude Codeの体系的な理解と知識のフック
oikon48
10
6.3k
Featured
See All Featured
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
510
Typedesign – Prime Four
hannesfritz
42
3.2k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
570
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.5k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.3k
Claude Code のすすめ
schroneko
67
230k
Into the Great Unknown - MozCon
thekraken
41
2.7k
WCS-LA-2024
lcolladotor
0
810
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
Everyday Curiosity
cassininazir
0
300
BBQ
matthewcrist
89
10k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.9k
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