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
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
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
280
哲学史とモデリング
tanakahisateru
4
980
オブジェクト指向宗教史
tanakahisateru
32
18k
ほげ言語にあってPHPにない機能
tanakahisateru
6
3.9k
君たちはどうプログラミングするか
tanakahisateru
16
3.1k
デバッグ用ロガーの注入どうする?
tanakahisateru
2
710
アンドキュメンテッド ちょうぜつソフトウェア 設計入門 「オブジェクト指向に定義はない」のか?
tanakahisateru
25
10k
ちょうぜつ改め21世紀ふつうのソフトウェア設計
tanakahisateru
14
8.7k
Other Decks in Programming
See All in Programming
生成AI時代にこそ効くGo | Why Go Works in the Age of Generative AI
mom0tomo
8
3.2k
Swiftのレキシカルスコープ管理
kntkymt
0
220
その問い、本当に正しいですか?AI時代のエンジニアに必要な哲学と認知科学 / ai-philosophy-cognitive-science
minodriven
5
3.9k
jQueryをバージョンアップする前に使いたいjQuery Migrate
matsuo_atsushi
0
200
ローカルLLMでどこまでコードが書けるか -拡張版 / How much code can be written on a local LLM Extended
kishida
2
160
Skillsは効率化、Agentsは"自分の拡張"——Builder時代のエージェント編成(CC Night 2026)
wemra
1
120
AIで効率化できた業務・日常
ochtum
0
120
Inside Stream API
skrb
1
680
Copilot CLI の継戦能力を高める コンテキスト管理
nozomutu
1
1.2k
ユニットテストの先へ:テスト技法で要求・仕様を整理するJava開発実践 / Beyond_Unit_Testing_Practical_Java_Development_Techniques_for_Organizing_Requirements_and_Specifications
shimashima35
0
390
フロントエンドとバックエンドで「1文字」を揃えよう
youkidearitai
PRO
0
260
dRuby over BLE
makicamel
2
330
Featured
See All Featured
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.9k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
860
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
65
56k
Leo the Paperboy
mayatellez
7
1.8k
The SEO Collaboration Effect
kristinabergwall1
1
480
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
600
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
470
RailsConf 2023
tenderlove
30
1.5k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
170
Transcript
ͦΕͰ͖Έɺ ͦͷ40-*%ͱΒ ͳΜͷʹཱͭͷ͔Ͷ ʙΦϒδΣΫτࢦͷݪଇύοέʔδฤʙ
ͨͳ͔ͻͯ͞Δ @tanakahisateru ॴ
None
40*-%ྑ͍ΫϥεΛઃܭ͢ΔͨΊͷݪଇ
ίʔυ্ख͘ॻ͍͍ͯΔ ͳͥσεϚΔͷ͔
มߋʹڧ͍ΦϒδΣΫτ ˓खஈ ☓త Ͱͳ͘ Ͱ͢Α ͑ʙͱɺ֬ೝͰ͚͚͢Ͳ
ύοέʔδઃܭͷݪଇ ύοέʔδͷ෦ڽू ύοέʔδಉ࢜ͷ݁߹ w ࠶ར༻ɾϦϦʔεՁͷݪଇ w શ࠶ར༻ͷݪଇ w ดੑڞ௨ͷݪଇ w
ඇ॥ґଘͷݪଇ w ҆ఆґଘͷݪଇ w ҆ఆɾநՁͷݪଇ ྑॻʹ40-*%ͷ͋ͱඞͣॻ͔Ε͍ͯΔͷ͕
ύοέʔδ ͱ͔ͷҙຯ͋Δ͚Ͳ
package com.example.application.util ύοέʔδઃܭ ࣗͷϓϩμΫτʹϑΥϧμΛΔ͜ͱ ͦͷϑΥϧμɺ͍·͙͢KBSʹΓग़ͤ·͔͢ ύοέʔδਤ
ύοέʔδͷ෦ڽू
࠶ར༻ɾϦϦʔεՁͷݪଇ ύοέʔδ࠶ར༻ͷඞཁ݅ ࣭ཧ͞Εͨύοέʔδͷ ϦϦʔε खΕ Ͱ͋Δ
શ࠶ར༻ͷݪଇ ύοέʔδ୯Ґ͝ͱʹશަͩ దʹׂ͠ͳ͍ͱϢʔβʔʹෆඞཁͳมߋΛڧ͍Δ
ดੑڞ௨ͷݪଇ มߋՕॴ͕͋ͪͪ͜ࢄ͢ΔͷͭΒ͍ ͻͱͭަͨ͠ΒࡁΉͷ͕ཧ
ύοέʔδಉ࢜ͷ݁߹
ඇ॥ґଘؔͷݪଇ ύοέʔδͷґଘؔʹ॥͕͋ͬͯͳΒͳ͍ ٺԽΛ͔ͭશͯյ͔͢ͷೋʹͳΔ
҆ఆґଘͷݪଇ ґଘΑΓ҆ఆ͢Δ มߋͷগͳ͍ ํʹ͚Α
҆ఆɾநՁͷݪଇ ΑΓ҆ఆͨ͠ύοέʔδͱɺ ΑΓநతͳύοέʔδͰ͋Δ͖ ٯ·ͨવΓ
࠶ར༻ɾϦϦʔεՁͷݪଇ શ࠶ར༻ͷݪଇ ดੑڞ௨ͷݪଇ ඇ॥ґଘͷݪଇ ҆ఆґଘͷݪଇ ҆ఆɾநՁͷݪଇ
࠶ར༻ɾϦϦʔεՁͷݪଇ શ࠶ར༻ͷݪଇ ดੑڞ௨ͷݪଇ ඇ॥ґଘͷݪଇ ҆ఆґଘͷݪଇ ҆ఆɾநՁͷݪଇ ͪΌΜͱ͚Ζ ͪΌΜͱ·ͱΊΖ ҆ఆํʹͳ ͭ·Γ۩͔Βநͷ͜ͱ
୯ํϚετͳ ύοέʔδʜ
มߋʹڧ͍ΦϒδΣΫτ มߋʹڧ͍ϓϩμΫτߏ ΦϒδΣΫτࢦͷݪଇ ͰऴΘΓ͡Όͳͯ͘ ͦΕΛʮखஈʯͱͨ͠ 40-*%ʹ४ͯ͡ΫϥεͷࢹͰ ·Ͱҙࣝߦ͔ͳ͍ͱɺ001͕ʹཱͭͱݴ͑ͳ͍Μ͡Ό
ΏΔ;ΘϓϩϚωຊ͡Όͳͯ͘Ψνͷίʔυઃܭख๏ຊͰ͢ ৄࡉ͍͍ͩͨ͜͜ʹ ॻ͍ͯ͋Δ 001ͳϓϩάϥϚʔඞಡͷݹయ ࣌ͷ͍ͤͰ λΠτϧ͕ӕ͘͘͞ ͳͬͨ೦ͳࢠ
ॳ൛ ӳޠ ͪͳΈʹॳ൛͕ಉ࣌ظͷຊͱ͍͑ͪ͜Β ឯ༨ۂં͋ͬͯ࠷ۙผͷຊʹͳΓ·ͨ͠Ͷ લͱ͔ͦΜͳϨϕϧ͡Όͳ͍Ͱ͢Ͷ
Ϟμϯ৽͚ΓΌ͍͍ ͔͍͍ͬ͜৽͍͠ΞʔΩςΫνϟΛ͍͔͚Δ·͑ʹɺ ͦͷతײͱࠜݯΛΖ͏