Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
SOLID Principles
Search
Fran
June 17, 2016
Programming
43
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
SOLID Principles
Fran
June 17, 2016
Other Decks in Programming
See All in Programming
月間100万人のサービス刷新で、 技術選定をHonoに振り切った話
yutobara
8
6.6k
AI主導のプログラミング学習アプリを作ってみた
econanringo
0
180
ジョジョの世界をXRで再現する
mofurune
0
160
KiroのSpecで「五目並べ」を作ってみる
satoshi256kbyte
1
380
HTML-in-Canvasで作る未来のWeb UI表現
clockmaker
5
5.1k
自サークルのIdPからログアウトできるようになるまで
taiseiue
1
140
AIで開発が速くなった先で、開発チームは何を目指すか
shihochan
0
880
現場と育てるRailsモデリング 〜Spreadsheetから始めたモデル設計〜
siroemk
2
590
S3 TablesのIcebergデータに、AIエージェントからアクセスしてみた / 20261016developersio2026joetsu-accessing-iceberg-in-s3tables-via-agent
kasacchiful
PRO
0
150
Event is what happens
moro
2
770
golang-bob.pdf
iwatsukayura
0
130
【加筆修正版】Laravel のアプリケーションをどこにデプロイするか #phpcon_ehime
akase244
0
150
Featured
See All Featured
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
280
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
750
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
540
WENDY [Excerpt]
tessaabrams
14
40k
BBQ
matthewcrist
90
10k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
How GitHub (no longer) Works
holman
316
150k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
4
4.4k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
2
480
Transcript
!Smelly Code clean development
S.O.L.I.D
A term describing a collection of design principles for good
code that was coined by Robert C. Martin aka Uncle Bob What?
Why? help developers facilitate the development of maintainable and extensible
systems
OOP COMPOSITION over INHERITANCE Polymorphism encapsulate
OOP encapsulate
encapsulate
encapsulate
encapsulate
encapsulate
encapsulate
encapsulate
S SINGLE RESPONSIBILITY PRINCIPLE A class should have only one
reason to change.
SINGLE RESPONSIBILITY PRINCIPLE
SINGLE RESPONSIBILITY PRINCIPLE
O OPEN-CLOSED PRINCIPLE You should be able to extend a
class behavior, without modifying it.
This class violates the Open/Closed principle. It is not closed
for modification and it is not open to extension. Every time a new shape comes along we have to modify the OPEN-CLOSED PRINCIPLE
None
OPEN-CLOSED PRINCIPLE
L LISKOV SUBSTITUTION PRINCIPLE Objects in a program should be
replaceable with instances of their subtypes without altering the correctness of that program.
LISKOV SUBSTITUTION PRINCIPLE
None
I INTERFACE SEGREGATION PRINCIPLE Make fine grained interfaces that are
client-specific.
None
None
D DEPENDENCY INVERSION PRINCIPLE High-level modules should not depend on
low-level modules. Both should depend on abstractions. Abstractions should not depend on details. Details should depend on abstractions. Depend on Abstractions. Do not depend on concretions.
None
None
https://realm.io/news/donn-felker-solid-part-1/ http://butunclebob.com/ArticleS.UncleBob.PrinciplesOfOod