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
Single responsibility principle
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Grzegorz Wilczyński
November 12, 2012
Programming
210
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Single responsibility principle
Single responsibility principle
Grzegorz Wilczyński
November 12, 2012
More Decks by Grzegorz Wilczyński
See All by Grzegorz Wilczyński
REWRITE'EM ALL
gwilczynski
2
480
Chain made out of coins - smart introduction to blockchain
gwilczynski
0
110
WebComponents or shadow side of the Doom
gwilczynski
0
60
clean code
gwilczynski
0
150
git scm in one hour
gwilczynski
0
130
Productivity for Programmers
gwilczynski
3
210
Git branching model for TAPTeam
gwilczynski
0
940
JS design patterns
gwilczynski
6
370
Other Decks in Programming
See All in Programming
なぜ型を書くのか? TSKaigi2026で改めて考える #tskaigi_smarthr
kajitack
0
290
IBM Bobを活用したレガシーアプリの最新化
oniak3ibm
PRO
1
240
アルゴリズムは何を圧縮しているのか ─ Haskell から育った「圧縮代数」というメンタルモデル
naoya
15
3.1k
Vite+ Unified Toolchain for the Web
naokihaba
0
720
AIエージェントで 変わるAndroid開発環境
takahirom
2
470
エンジニア向け会社紹介/Findy Company Profile
findyinc
6
360k
「AIで開発し、AIを届ける」をEvalでつなぐ 〜AIネイティブに始めるプロダクト開発の実践〜 / Connecting "Develop with AI, deliver AI" with Eval
rkaga
4
5.7k
ローカルLLMでどこまでコードが書けるか -拡張版 / How much code can be written on a local LLM Extended
kishida
12
4.7k
OSINT for SRE: 学術論文とポストモーテムから探る システム障害の共通パターン / SRE NEXT 2026
tomoyk
1
3k
えっ!!コードを読まずに開発を!?
hananouchi
0
160
Hatena Engineer Seminar #37「言語モデルの活用に関する研究」
slashnephy
0
500
初めてのKubernetes 本番運用でハマった話
oku053
0
120
Featured
See All Featured
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
How STYLIGHT went responsive
nonsquared
100
6.2k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
260
Agile that works and the tools we love
rasmusluckow
331
22k
Building Applications with DynamoDB
mza
96
7.1k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
AI: The stuff that nobody shows you
jnunemaker
PRO
8
770
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.3k
Docker and Python
trallard
47
3.9k
Thoughts on Productivity
jonyablonski
76
5.2k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
210
Raft: Consensus for Rubyists
vanstee
141
7.6k
Transcript
Design patterns: The Single-Responsibility Principle Grzegorz Wilczyński 11th november 2012
SOLID The principles when applied together intend to make it
more likely that a programmer will create a system that is easy to maintain and extend over time. http://en.wikipedia.org/wiki/Solid_(object-oriented_design)
SOLID Single responsibility Open-closed Liskov substitution Interface segregation Dependency inversion
http://en.wikipedia.org/wiki/Solid_(object-oriented_design)
BIBLE http://www.amazon.com/Agile-Principles-Patterns-Practices-C/dp/0131857258
Rule #1 A class should have only one reason to
change. "Agile Principles, Patterns, and Practices in C#" Robert C. Martin
Rule #2 A class should have only one reason to
change. "Agile Principles, Patterns, and Practices in C#" Robert C. Martin
So please don't... http://3.bp.blogspot.com/-FQZ4VT_gbRY/T8RvXLTPWMI/AAAAAAAABP0/JCckSpENM88/s640/SingleResponsibilityPrinciple.jpg
Step 1 http://www.remondo.net/wp-content/uploads/2012/03/SingleResponsibilityPrincipleRadio.png
Step 2 http://www.remondo.net/wp-content/uploads/2012/03/SingleResponsibilityPrincipleRadioManagers.png
Homework $ git branch gw-solid-1 end time: 16.11.2012