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
オブジェクト指向でなぜ作るのか@輪読会
Search
kaorun
January 09, 2021
Technology
0
91
オブジェクト指向でなぜ作るのか@輪読会
「オブジェクト指向でなぜ作るのか」という本の輪読会を行っています。
今回は2章をスライドにまとめています。
Rubyを使って解説しているので興味がある方はぜひ!
kaorun
January 09, 2021
Tweet
Share
More Decks by kaorun
See All by kaorun
オブジェクト指向でなぜ作るのか 10章@輪読会
kaorukkkkk
0
100
オブジェクト指向でなぜ作るのか6章@輪読会
kaorukkkkk
1
55
【エンジニア向け】SEOについてざっくり解説
kaorukkkkk
1
120
Other Decks in Technology
See All in Technology
JavaScript パーサーに using 対応をする過程で与えたエコシステムへの影響
baseballyama
1
140
adk-samples に学ぶデータ分析 LLM エージェント開発
na0
3
570
AI開発の定着を推進するために揃えるべき前提
suguruooki
1
180
IaC を使いたくないけどポリシー管理をどうにかしたい
kazzpapa3
1
160
Service Monitoring Platformについて
lycorptech_jp
PRO
0
350
レガシーシステム刷新における TypeSpec スキーマ駆動開発のすゝめ
tsukuha
3
690
生成AIが出力するテストコードのリアル よくあるコードと改善のヒント
starfish719
0
160
現地速報!Microsoft Ignite 2025 M365 Copilotアップデートレポート
kasada
2
1.7k
AI駆動開発2025年振り返りとTips集
knr109
1
110
re:Inventにおける製造業のこれまでとこれから
hamadakoji
0
350
AI エージェントを評価するための温故知新と Spec Driven Evaluation
icoxfog417
PRO
2
710
リアーキテクティングのその先へ 〜品質と開発生産性の壁を越えるプラットフォーム戦略〜 / architecture-con2025
visional_engineering_and_design
0
6.7k
Featured
See All Featured
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.8k
Bash Introduction
62gerente
615
210k
Large-scale JavaScript Application Architecture
addyosmani
514
110k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.2k
Six Lessons from altMBA
skipperchong
29
4.1k
What's in a price? How to price your products and services
michaelherold
246
12k
YesSQL, Process and Tooling at Scale
rocio
174
15k
A Modern Web Designer's Workflow
chriscoyier
697
190k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
A designer walks into a library…
pauljervisheath
210
24k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
127
54k
Transcript
খྛ܆!ྠಡձʹͯ ΦϒδΣΫτࢦͰͳͥ࡞Δͷ͔ ୈ̎ষɹΦϒδΣΫτࢦͱݱ࣮ੈքࣅͯඇͳΔͷ
࣍ w ̎ষͷ֓ཁ w ΦϒδΣΫτࢦͷجຊతͳ֓೦̏બ w ɹˠʢΫϥεͱΠϯελϯεɺϙϦϞʔϑΟζϜɺܧঝʣ w ̏બΛݱ࣮ੈքʹྫ͑ͳ͕Βղઆʙ3VCZʹஔ͖͑ͯʙ w
ݱ࣮ੈքͰྫ͑ΔͱͳͥࠞཚΛੜΉͷ͔ʁ w ·ͱΊ
̎ষͷ֓ཁ
5PQJDΦϒδΣΫτࢦݱ࣮ੈքͰྫ͑ΒΕΔ͜ͱ͕ଟ͍ ͜ΕޡͬͨղऍਓʹΑͬͯೝࣝͷᴥᴪΛੜΜͰ͠·͏ݪҼͱͳΔ ͱ͍͏͜ͱɺΦϒδΣΫτࢦΛ͖ͪΜͱཧղͰ͖ͳ͍ʂ
͜ͷষͰɺΦϒδΣΫτࢦʹଘࡏ͢Δ̏ͭͷ֓೦Λɺ ݱ࣮ੈքʹྫ͑ͳ͕Βղઆ͢Δ ʮԿ͔มͳͱ͜Ζͳ͍ͩΖ͏͔ʁʯͱߟ͑ͳ͕Βฉ͍ͯΈ͍ͯͩ͘͞Ͷʙ ʢޙʑɺͳͥݱ࣮ੈքͰྫ͑Δ͜ͱ͕μϝͳͷ͔ͷղઆΛ͠·͢ʣ
ΦϒδΣΫτࢦͷجຊతͳ֓೦̏બ
ΫϥεͱΠϯελϯε ϙϦϞʔϑΟζϜ ܧঝ ͜ΕΒͷ̏ͭΛݱ࣮ੈքͷൺᄻΛ͍ͭͭ3VCZʹஔ͖͑ͯհ͍͖ͯ͠·͢
ΫϥεͱΠϯελϯε
w ΫϥεͱΠϯελϯεରʹͳΔ֓೦ɹ w Α͘ྫ͑ΒΕΔͷͱͯ͠ɾɾɾ 5PQJDΫϥεͱΠϯελϯεͬͯԿʁ Ϋϥεɹɹɹɹʹɹྨɾछྨ Πϯελϯεɹʹɹ۩ମతͳϞϊ Ϋϥε͕ݘɺΠϯελϯε͕ϙνɾଠ Ϋϥε͕ࠃɺΠϯελϯε͕ΞϝϦΧɾຊ
5PQJDΫϥεͱΠϯελϯεΛ3VCZͰ
5PQJDϝοηʔδύογϯάʹ͍ͭͯ EPHDSZͷΑ͏ʹϝιουΛݺͼग़͢͜ͱΛ ʮϝοηʔδύογϯάʯͱݺͿʂ
ઢBUUS@BDDFTTPSͬͯͳʹʁ IUUQTCPUUPNTQSPHSBNNJOHDPNBSDIJWFTXIBUJTBUUSBDDFTTPSIUNM "ʮಡΈऔΓʯͱʮॻ͖ࠐΈʯΛ྆ํ୲อͯ͘͠ΕΔͷ ೖؔ book.price = 2000Λߦ͑Δ ಡΈऔΓ༻ؔ book.price #=>
2000
ϙϦϞʔϑΟζϜͱܧঝ
5PQJDϙϦϞʔϑΟζϜͬͯԿʁ ɾʮ৭ʑͳܗʹมΘΔʯʮଟ༷ੑʯͱ͍͏ҙຯΛ࣋ͭݴ༿ ૬ख͕۩ମతʹͲͷΠϯελϯεͰ͋Δ͔Λҙࣝͤͣʹ ϝοηʔδΛૹΕΔʢϝιουΛݺΔʣΈ ɾΦϒδΣΫτࢦͰʁ ɾݱ࣮ੈքͰʁ ݘɿ໐͍ͯɹΘΜΘΜ ɿٽ͍ͯɹΦΪϟʔ
5PQJDܧঝͬͯԿʁ ɾϞϊͷछྨͷڞ௨ͱ૬ҧΛମܥతʹཧ͢ΔΈ ɹˠڞ௨ͷͷ·ͱΊͪΌ͓͏ͱ͍͏͜ͱ ࣅͨͷಉ࢜ͷΫϥεͷڞ௨ͱ૬ҧΛཧ͢ΔΈ ˠڞ௨ͷͷΫϥεʹ·ͱΊͪΌ͓͏ͱ͍͏͜ͱ ɾΦϒδΣΫτࢦͰʁ ɾݱ࣮ੈքͰʁ ಈͷྨ ಈɺᄡೕྨɺௗྨɺڕྨʹ͚Δ͜ͱ͕Մೳ
5PQJDϙϦϞʔϑΟζϜɾܧঝΛ3VCZͰ ̍ɺڞ௨ͷ"OJNBMΫϥεΛ༻ҙ͢Δ ̎ɺ%PHΫϥεͱ$BUΫϥεͰܧঝ ɹˠʹڞ௨ॲཧΛ·ͱΊΔ͜ͱ ̏ɺ྆ऀͰDSZϝιουΛ͑Δ ΫϥεɹʹɹεʔύʔΫϥε ࢠΫϥεɹʹɹαϒΫϥε
ઢ3BJMTͷ%#ϦϨʔγϣϯʹϙϦϞʔϑΟζϜ͋ΔΑ IUUQTSBJMTHVJEFTKQ BTTPDJBUJPO@CBTJDTIUNM&%&""&"&#$& &"&&"'&"&"&##& FNQMPZFFQJDUVSFT QSPEVDUQJDUVSFT͕Ͱ͖Δ
ݱ࣮ੈքͰྫ͑ΔͱͳͥࠞཚΛੜΉͷ͔ʁ
5PQJDݱ࣮ੈքͷਓͷΫϥε͔Βͭ͘ΒΕͳ͍ʂ ɾݱ࣮ੈքͷྫͱͯ͠ɺΫϥε͕͍͵ɺΠϯελϯεͱͯ͠ϙνͨΖʔ͕͋Δ ɾΦϒδΣΫτࢦͰɺΫϥεΛ࠷ॳʹఆٛͯ͠ޙ͔ΒΠϯελϯεΛ࡞ΔΈ
5PQJDݱ࣮ੈքͷਓͷΫϥε͔Βͭ͘ΒΕͳ͍ʂ 2Ռͨͯ͠ݱ࣮ͦ͏͔ʁ ɾݘ͕࢈·ΕΔͷΦεͱϝε͕ग़ձͬͯɺ৷ͯ͠৽͍͠ݘ͕࢈·ΕΔ ɹˠఆٛ͞ΕͨݘΫϥε͔Βੜ·ΕΔΘ͚Ͱͳ͍
5PQJDݱ࣮ੈքͷਓͷΫϥε͔Βͭ͘ΒΕͳ͍ʂ 001ɿΠϯελϯεΛ࡞ΔΈ͕ΫϥεͰ͋Δ ɹˠΠϯελϯε͕ଐ͢ΔΫϥε͚̍ͭͩ ݱ࣮ੈքɿઌʹ۩ମతͳͷʢ৽ݘʣ͕͍ͯɺͦΕΛݟΔଆͷڵຯɾཱʹΑͬͯมΘΔ ɹˠݘ͔ΒݟͨࢠͲ̍಄ ɹˠࣂ͍ओ͔ΒݟͨѪݘͷ಄ ଞʹɾɾɾɾɾɾɾɾ
5PQJDݱ࣮ੈքͷਓͷΫϥε͔Βͭ͘ΒΕͳ͍ʂ 001ɿΠϯελϯε͕࣌ؒܦͬͯมԽ͠ͳ͍ ɹˠࢠΫϥε͔Β࡞ΒΕͨΠϯελϯεԿܦͬͯਓΫϥεʹͳΒͳ͍ ݱ࣮ੈքɿ۩ମతͳͷʢ৽ݘʣ࣌ؒͱͱʹมԽ͢Δ ɹˠࢠ͕̎̌ܦͯਓ ɹˠ̍̌ܦͯࡾे࿏ ଞʹɾɾɾɾɾɾɾɾ
5PQJDݱ࣮ੈքͷਓͷΫϥε͔Βͭ͘ΒΕͳ͍ʂ 001ɿϝοηʔδύογϯά࣮ߦ͞ΕΔ ɹˠఆٛ͞ΕͨϝιουΛݺͿͱඞ࣮ͣߦͯ͘͠ΕΔ ݱ࣮ੈքɿ۩ମతͳͷʢ৽ݘʣʹ໋ྩͯ͠ඞ࣮ͣߦͯ͘͠ΕΔΘ͚Ͱͳ͍ ɹˠࢠʹٽ͍ͯͱݴͬͯɺ΄΅ٽ͍ͯ͘Εͳ͍ ɹˠখྛʹສ͘Εͱݴͬͯ͋͛Δ͔͠Εͳ͍͋͛͠ͳ͍͔͠Εͳ͍ ଞʹɾɾɾɾɾɾɾɾ
·ͱΊ
5PQJDݱ࣮ੈքʹྫ͑Δ͜ͱѱ͍͜ͱͳͷ͔ʁ ΦϒδΣΫτࢦͷཧղʹࠞཚΛੜΜͩͷ͔֬ͳ͜ͱͰ͋Δ ͔͠͠ɺɺɺ ΫϥεɺΠϯελϯεɺܧঝɺϙϦϞʔϑΟζϜ͕ݱ࣮ੈքͷ༷ࢠΛኲኵͱͤ͞ɺ ۀੳཁ݅ఆٛͳͲʹԠ༻ͤ͞Δ͖͔͚ͬͱͳͬͨɻ ɹ ɹˠͦͷ͓͔͛Ͱྲྀߦͨ͠ͱ͍͏ͷ͋Δ ͦ͏͍͏Θ͚Ͱͳ͍
5PQJDݱ࣮ੈքʹྫ͑Δ͜ͱѱ͍͜ͱͳͷ͔ʁ ͦͦϓϩάϥϛϯά͕ਓؒͷࣄΛஔ͖͑ΔͷʮେྔهԱɾఆ·ͬͨॲཧʯ͚ͩͳͷ Ͱɺਓؒͷࣄ͕શͯஔ͖ΘΔΘ͚Ͱͳ͍ ݱ࣮ੈքʹஔ͖͑Δ͜ͱͷӠʑΛٞ͢Δͷφϯηϯε ͋͘·ͰൺᄻͱׂΓͬͯɺϓϩάϥϛϯάͷΈͱͯ͠ཧղ͍ͯ͜͠͏ͥʢ͛Γʣ ˠ͛Γ͕ͩɺ001ιϑτΣΞͷอकੑ࠶ར༻ੑΛ্ͤ͞ΔΈͱͯ͠ཧղ͓ͯ͠ ͍ͨํ͕ૣ͍ͱ͍͏͜ͱ