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とやらは なんの役に立つのかね ~オブジェクト指向の原則 ハ...
Search
Hisateru Tanaka
June 15, 2018
Programming
8
3.2k
それできみ、 そのSOLIDとやらは なんの役に立つのかね ~オブジェクト指向の原則 パッケージ編~
大正GeekNight Vol.1
PHPカンファレンス福岡 2018 前々夜祭
...の発表資料です
Hisateru Tanaka
June 15, 2018
Tweet
Share
More Decks by Hisateru Tanaka
See All by Hisateru Tanaka
なまけものオバケたち -PHP 8.4 に入った新機能の紹介-
tanakahisateru
2
210
哲学史とモデリング
tanakahisateru
4
840
オブジェクト指向宗教史
tanakahisateru
32
17k
ほげ言語にあってPHPにない機能
tanakahisateru
6
3.3k
君たちはどうプログラミングするか
tanakahisateru
16
2.7k
デバッグ用ロガーの注入どうする?
tanakahisateru
2
640
アンドキュメンテッド ちょうぜつソフトウェア 設計入門 「オブジェクト指向に定義はない」のか?
tanakahisateru
25
9.7k
ちょうぜつ改め21世紀ふつうのソフトウェア設計
tanakahisateru
14
8.5k
まんがのかきかた
tanakahisateru
8
730
Other Decks in Programming
See All in Programming
FindyにおけるTakumi活用と脆弱性管理のこれから
rvirus0817
0
400
サーバーサイドのビルド時間87倍高速化
plaidtech
PRO
0
690
Honoアップデート 2025年夏
yusukebe
1
910
AI OCR API on Lambdaを Datadogで可視化してみた
nealle
0
230
MCPでVibe Working。そして、結局はContext Eng(略)/ Working with Vibe on MCP And Context Eng
rkaga
5
1.6k
🔨 小さなビルドシステムを作る
momeemt
3
650
兎に角、コードレビュー
mitohato14
0
170
The state patternの実践 個人開発で培ったpractice集
miyanokomiya
0
160
Jakarta EE Core Profile and Helidon - Speed, Simplicity, and AI Integration
ivargrimstad
0
320
TDD 実践ミニトーク
contour_gara
1
280
Updates on MLS on Ruby (and maybe more)
sylph01
1
180
AI時代のUIはどこへ行く?
yusukebe
12
7.4k
Featured
See All Featured
Code Reviewing Like a Champion
maltzj
525
40k
Building Applications with DynamoDB
mza
96
6.6k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.6k
A designer walks into a library…
pauljervisheath
207
24k
Code Review Best Practice
trishagee
70
19k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
The Language of Interfaces
destraynor
160
25k
Embracing the Ebb and Flow
colly
87
4.8k
The World Runs on Bad Software
bkeepers
PRO
70
11k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
9
800
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
31
2.2k
Transcript
ͦΕͰ͖Έɺ ͦͷ40-*%ͱΒ ͳΜͷʹཱͭͷ͔Ͷ ʙΦϒδΣΫτࢦͷݪଇύοέʔδฤʙ
ͨͳ͔ͻͯ͞Δ @tanakahisateru ॴ
None
40*-%ྑ͍ΫϥεΛઃܭ͢ΔͨΊͷݪଇ
ίʔυ্ख͘ॻ͍͍ͯΔ ͳͥσεϚΔͷ͔
มߋʹڧ͍ΦϒδΣΫτ ˓खஈ ☓త Ͱͳ͘ Ͱ͢Α ͑ʙͱɺ֬ೝͰ͚͚͢Ͳ
ύοέʔδઃܭͷݪଇ ύοέʔδͷ෦ڽू ύοέʔδಉ࢜ͷ݁߹ w ࠶ར༻ɾϦϦʔεՁͷݪଇ w શ࠶ར༻ͷݪଇ w ดੑڞ௨ͷݪଇ w
ඇ॥ґଘͷݪଇ w ҆ఆґଘͷݪଇ w ҆ఆɾநՁͷݪଇ ྑॻʹ40-*%ͷ͋ͱඞͣॻ͔Ε͍ͯΔͷ͕
ύοέʔδ ͱ͔ͷҙຯ͋Δ͚Ͳ
package com.example.application.util ύοέʔδઃܭ ࣗͷϓϩμΫτʹϑΥϧμΛΔ͜ͱ ͦͷϑΥϧμɺ͍·͙͢KBSʹΓग़ͤ·͔͢ ύοέʔδਤ
ύοέʔδͷ෦ڽू
࠶ར༻ɾϦϦʔεՁͷݪଇ ύοέʔδ࠶ར༻ͷඞཁ݅ ࣭ཧ͞Εͨύοέʔδͷ ϦϦʔε खΕ Ͱ͋Δ
શ࠶ར༻ͷݪଇ ύοέʔδ୯Ґ͝ͱʹશަͩ దʹׂ͠ͳ͍ͱϢʔβʔʹෆඞཁͳมߋΛڧ͍Δ
ดੑڞ௨ͷݪଇ มߋՕॴ͕͋ͪͪ͜ࢄ͢ΔͷͭΒ͍ ͻͱͭަͨ͠ΒࡁΉͷ͕ཧ
ύοέʔδಉ࢜ͷ݁߹
ඇ॥ґଘؔͷݪଇ ύοέʔδͷґଘؔʹ॥͕͋ͬͯͳΒͳ͍ ٺԽΛ͔ͭશͯյ͔͢ͷೋʹͳΔ
҆ఆґଘͷݪଇ ґଘΑΓ҆ఆ͢Δ มߋͷগͳ͍ ํʹ͚Α
҆ఆɾநՁͷݪଇ ΑΓ҆ఆͨ͠ύοέʔδͱɺ ΑΓநతͳύοέʔδͰ͋Δ͖ ٯ·ͨવΓ
࠶ར༻ɾϦϦʔεՁͷݪଇ શ࠶ར༻ͷݪଇ ดੑڞ௨ͷݪଇ ඇ॥ґଘͷݪଇ ҆ఆґଘͷݪଇ ҆ఆɾநՁͷݪଇ
࠶ར༻ɾϦϦʔεՁͷݪଇ શ࠶ར༻ͷݪଇ ดੑڞ௨ͷݪଇ ඇ॥ґଘͷݪଇ ҆ఆґଘͷݪଇ ҆ఆɾநՁͷݪଇ ͪΌΜͱ͚Ζ ͪΌΜͱ·ͱΊΖ ҆ఆํʹͳ ͭ·Γ۩͔Βநͷ͜ͱ
୯ํϚετͳ ύοέʔδʜ
มߋʹڧ͍ΦϒδΣΫτ มߋʹڧ͍ϓϩμΫτߏ ΦϒδΣΫτࢦͷݪଇ ͰऴΘΓ͡Όͳͯ͘ ͦΕΛʮखஈʯͱͨ͠ 40-*%ʹ४ͯ͡ΫϥεͷࢹͰ ·Ͱҙࣝߦ͔ͳ͍ͱɺ001͕ʹཱͭͱݴ͑ͳ͍Μ͡Ό
ΏΔ;ΘϓϩϚωຊ͡Όͳͯ͘Ψνͷίʔυઃܭख๏ຊͰ͢ ৄࡉ͍͍ͩͨ͜͜ʹ ॻ͍ͯ͋Δ 001ͳϓϩάϥϚʔඞಡͷݹయ ࣌ͷ͍ͤͰ λΠτϧ͕ӕ͘͘͞ ͳͬͨ೦ͳࢠ
ॳ൛ ӳޠ ͪͳΈʹॳ൛͕ಉ࣌ظͷຊͱ͍͑ͪ͜Β ឯ༨ۂં͋ͬͯ࠷ۙผͷຊʹͳΓ·ͨ͠Ͷ લͱ͔ͦΜͳϨϕϧ͡Όͳ͍Ͱ͢Ͷ
Ϟμϯ৽͚ΓΌ͍͍ ͔͍͍ͬ͜৽͍͠ΞʔΩςΫνϟΛ͍͔͚Δ·͑ʹɺ ͦͷతײͱࠜݯΛΖ͏