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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Hisateru Tanaka
June 15, 2018
Programming
3.3k
8
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
それできみ、 そのSOLIDとやらは なんの役に立つのかね ~オブジェクト指向の原則 パッケージ編~
大正GeekNight Vol.1
PHPカンファレンス福岡 2018 前々夜祭
...の発表資料です
Hisateru Tanaka
June 15, 2018
More Decks by Hisateru Tanaka
See All by Hisateru Tanaka
どうなる Remix 3
tanakahisateru
2
530
なまけものオバケたち -PHP 8.4 に入った新機能の紹介-
tanakahisateru
2
290
哲学史とモデリング
tanakahisateru
4
980
オブジェクト指向宗教史
tanakahisateru
32
18k
ほげ言語にあってPHPにない機能
tanakahisateru
6
4k
君たちはどうプログラミングするか
tanakahisateru
16
3.1k
デバッグ用ロガーの注入どうする?
tanakahisateru
2
710
アンドキュメンテッド ちょうぜつソフトウェア 設計入門 「オブジェクト指向に定義はない」のか?
tanakahisateru
25
10k
ちょうぜつ改め21世紀ふつうのソフトウェア設計
tanakahisateru
14
8.7k
Other Decks in Programming
See All in Programming
Go1.27で導入されるジェネリクスメソッドでできること
mackee
0
140
ふつうのFeature Flag実践入門
irof
8
4k
dRuby over BLE
makicamel
2
380
AI時代のUIはどこへ行く?その2!
yusukebe
22
7.4k
さぁV100、メモリをお食べ・・・
nilpe
0
140
IBM Bobを活用したレガシーアプリの最新化
oniak3ibm
PRO
1
200
その問い、本当に正しいですか?AI時代のエンジニアに必要な哲学と認知科学 / ai-philosophy-cognitive-science
minodriven
11
5.8k
Observability in Practice:Grafana 與 Edge Device SRE 的那些事
blueswen
0
170
生成AI時代にこそ効くGo | Why Go Works in the Age of Generative AI
mom0tomo
8
3.3k
ユニットテストの先へ:テスト技法で要求・仕様を整理するJava開発実践 / Beyond_Unit_Testing_Practical_Java_Development_Techniques_for_Organizing_Requirements_and_Specifications
shimashima35
0
410
TAKTでAI駆動開発の品質を設計する
j5ik2o
7
1.4k
Language Server 使ってる? 〜VSCode と Zed の場合〜 / Are you using a Language Server? ~For VS Code and Zed~
handlename
0
790
Featured
See All Featured
GitHub's CSS Performance
jonrohan
1033
470k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
340
Context Engineering - Making Every Token Count
addyosmani
9
970
Design in an AI World
tapps
1
250
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.1k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
860
How GitHub (no longer) Works
holman
316
150k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
150
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
The SEO Collaboration Effect
kristinabergwall1
1
490
The Illustrated Children's Guide to Kubernetes
chrisshort
51
52k
Transcript
ͦΕͰ͖Έɺ ͦͷ40-*%ͱΒ ͳΜͷʹཱͭͷ͔Ͷ ʙΦϒδΣΫτࢦͷݪଇύοέʔδฤʙ
ͨͳ͔ͻͯ͞Δ @tanakahisateru ॴ
None
40*-%ྑ͍ΫϥεΛઃܭ͢ΔͨΊͷݪଇ
ίʔυ্ख͘ॻ͍͍ͯΔ ͳͥσεϚΔͷ͔
มߋʹڧ͍ΦϒδΣΫτ ˓खஈ ☓త Ͱͳ͘ Ͱ͢Α ͑ʙͱɺ֬ೝͰ͚͚͢Ͳ
ύοέʔδઃܭͷݪଇ ύοέʔδͷ෦ڽू ύοέʔδಉ࢜ͷ݁߹ w ࠶ར༻ɾϦϦʔεՁͷݪଇ w શ࠶ར༻ͷݪଇ w ดੑڞ௨ͷݪଇ w
ඇ॥ґଘͷݪଇ w ҆ఆґଘͷݪଇ w ҆ఆɾநՁͷݪଇ ྑॻʹ40-*%ͷ͋ͱඞͣॻ͔Ε͍ͯΔͷ͕
ύοέʔδ ͱ͔ͷҙຯ͋Δ͚Ͳ
package com.example.application.util ύοέʔδઃܭ ࣗͷϓϩμΫτʹϑΥϧμΛΔ͜ͱ ͦͷϑΥϧμɺ͍·͙͢KBSʹΓग़ͤ·͔͢ ύοέʔδਤ
ύοέʔδͷ෦ڽू
࠶ར༻ɾϦϦʔεՁͷݪଇ ύοέʔδ࠶ར༻ͷඞཁ݅ ࣭ཧ͞Εͨύοέʔδͷ ϦϦʔε खΕ Ͱ͋Δ
શ࠶ར༻ͷݪଇ ύοέʔδ୯Ґ͝ͱʹશަͩ దʹׂ͠ͳ͍ͱϢʔβʔʹෆඞཁͳมߋΛڧ͍Δ
ดੑڞ௨ͷݪଇ มߋՕॴ͕͋ͪͪ͜ࢄ͢ΔͷͭΒ͍ ͻͱͭަͨ͠ΒࡁΉͷ͕ཧ
ύοέʔδಉ࢜ͷ݁߹
ඇ॥ґଘؔͷݪଇ ύοέʔδͷґଘؔʹ॥͕͋ͬͯͳΒͳ͍ ٺԽΛ͔ͭશͯյ͔͢ͷೋʹͳΔ
҆ఆґଘͷݪଇ ґଘΑΓ҆ఆ͢Δ มߋͷগͳ͍ ํʹ͚Α
҆ఆɾநՁͷݪଇ ΑΓ҆ఆͨ͠ύοέʔδͱɺ ΑΓநతͳύοέʔδͰ͋Δ͖ ٯ·ͨવΓ
࠶ར༻ɾϦϦʔεՁͷݪଇ શ࠶ར༻ͷݪଇ ดੑڞ௨ͷݪଇ ඇ॥ґଘͷݪଇ ҆ఆґଘͷݪଇ ҆ఆɾநՁͷݪଇ
࠶ར༻ɾϦϦʔεՁͷݪଇ શ࠶ར༻ͷݪଇ ดੑڞ௨ͷݪଇ ඇ॥ґଘͷݪଇ ҆ఆґଘͷݪଇ ҆ఆɾநՁͷݪଇ ͪΌΜͱ͚Ζ ͪΌΜͱ·ͱΊΖ ҆ఆํʹͳ ͭ·Γ۩͔Βநͷ͜ͱ
୯ํϚετͳ ύοέʔδʜ
มߋʹڧ͍ΦϒδΣΫτ มߋʹڧ͍ϓϩμΫτߏ ΦϒδΣΫτࢦͷݪଇ ͰऴΘΓ͡Όͳͯ͘ ͦΕΛʮखஈʯͱͨ͠ 40-*%ʹ४ͯ͡ΫϥεͷࢹͰ ·Ͱҙࣝߦ͔ͳ͍ͱɺ001͕ʹཱͭͱݴ͑ͳ͍Μ͡Ό
ΏΔ;ΘϓϩϚωຊ͡Όͳͯ͘Ψνͷίʔυઃܭख๏ຊͰ͢ ৄࡉ͍͍ͩͨ͜͜ʹ ॻ͍ͯ͋Δ 001ͳϓϩάϥϚʔඞಡͷݹయ ࣌ͷ͍ͤͰ λΠτϧ͕ӕ͘͘͞ ͳͬͨ೦ͳࢠ
ॳ൛ ӳޠ ͪͳΈʹॳ൛͕ಉ࣌ظͷຊͱ͍͑ͪ͜Β ឯ༨ۂં͋ͬͯ࠷ۙผͷຊʹͳΓ·ͨ͠Ͷ લͱ͔ͦΜͳϨϕϧ͡Όͳ͍Ͱ͢Ͷ
Ϟμϯ৽͚ΓΌ͍͍ ͔͍͍ͬ͜৽͍͠ΞʔΩςΫνϟΛ͍͔͚Δ·͑ʹɺ ͦͷతײͱࠜݯΛΖ͏