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
90年代のオブジェクト指向開発諸手法
Search
joytomo
November 24, 2021
Programming
1
920
90年代のオブジェクト指向開発諸手法
2021/11/24の『オブジェクト指向LT会 vol.3』というイベントで発表したスライドです。
joytomo
November 24, 2021
Tweet
Share
More Decks by joytomo
See All by joytomo
ユビキタス言語とコンテクスト境界
joytomo
1
550
たのしい技術ノンフィクション
joytomo
0
420
技術賞から技術の今を知る
joytomo
0
620
からくりの世界
joytomo
0
180
テクノツーリズムのすすめ
joytomo
2
600
可音読性と可黙読性
joytomo
11
4.8k
ベック vs. コプリエン
joytomo
2
20k
人類にとって技術とは何であったのか
joytomo
1
480
ナッジについて:デザインと倫理
joytomo
1
1.6k
Other Decks in Programming
See All in Programming
アクターシステムに頼らずEvent Sourcingする方法について
j5ik2o
6
700
PSR-15 はあなたのための ものではない? - phpcon2024
myamagishi
0
400
どうして手を動かすよりもチーム内のコードレビューを優先するべきなのか
okashoi
3
870
Swiftコンパイラ超入門+async関数の仕組み
shiz
0
170
月刊 競技プログラミングをお仕事に役立てるには
terryu16
1
1.2k
「とりあえず動く」コードはよい、「読みやすい」コードはもっとよい / Code that 'just works' is good, but code that is 'readable' is even better.
mkmk884
6
1.4k
PicoRubyと暮らす、シェアハウスハック
ryosk7
0
220
Асинхронность неизбежна: как мы проектировали сервис уведомлений
lamodatech
0
1.3k
.NETでOBS Studio操作してみたけど…… / Operating OBS Studio by .NET
skasweb
0
120
return文におけるstd::moveについて
onihusube
1
1.4k
선언형 UI에서의 상태관리
l2hyunwoo
0
270
週次リリースを実現するための グローバルアプリ開発
tera_ny
1
1.2k
Featured
See All Featured
The World Runs on Bad Software
bkeepers
PRO
66
11k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
870
jQuery: Nuts, Bolts and Bling
dougneiner
62
7.6k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
173
51k
How STYLIGHT went responsive
nonsquared
96
5.3k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
3
240
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
8
1.2k
A designer walks into a library…
pauljervisheath
205
24k
Done Done
chrislema
182
16k
Scaling GitHub
holman
459
140k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
Git: the NoSQL Database
bkeepers
PRO
427
64k
Transcript
!KPZUPNP ͷΦϒδΣΫτࢦॾख๏
ݱࡏɺ ͷΦϒδΣΫτࢦͷٞ ٫ͷ൴ํʹফ͑ڈͬͨΑ͏ʹݟ͑Δɻ ͔࣌͠͠׆ൃͳ͕ٞߦΘΕɺ ͦͷՌݱࡏʹड͚ܧ͕Ε͍ͯΔɻ ຊͰɺ
ͦΕΒ͍͔ͭ͘ͷख๏Λհͭͭ͠ɺ ͦͷΓߦ͖ΛৼΓฦ͍ͬͯ͘ɻ
#PPDI๏
#PPDI๏ओএऀɿ άϥσΟɾϒʔν ੜ ɾΦϒδΣΫτࢦɺ ɹσβΠϯύλʔϯͷ ɹઌۦऀͷҰਓ ɾϥγϣφϧओٕज़ऀ
ɾ*#.ϑΣϩʔ
#PPDI๏γεςϜཁ ٻΛੳɺϞσϧԽɺυ ΩϡϝϯτԽ͢ΔͨΊʹ ༻͞ΕΔΦϒδΣΫτ ࢦ։ൃख๏Ͱ͋Δɻ ʹץߦ͞Εͨ ʮ0CKFDUPSJFOUFE "OBMZTJTBOE%FTJHO XJUI"QQMJDBUJPOTʯͰ ·ͱΊΒΕͨɻ
ͷΦϒδΣΫτ ࢦͰͷڧ͍ؔ৺ɺ υϝΠϯϞσϧΛ ͲͷΑ͏ʹਤࣔ͢Δ͔Ͱ ͋ͬͨɻ ΦϒδΣΫτؒͷؔͷ ޠኮݱࡏΘΕ͍ͯΔ ͷΑΓଟͦ͏ɻ Ϋϥεਤ Ϋϥε
4 ܧঝ ελςΟοΫ ' ϑϨϯυ ΦϒδΣΫτϝοηʔδਤ ಉظ ඇಉظ
·ͨɺ#PPDI๏ ϥΠϑαΠΫϧͷ ؍͔Β ΦϒδΣΫτࢦੳΛ ࠷దԽ͠Α͏ͱͨ͠ɻ ֓೦Խ ϚΫϩϓϩηε
ੳ ઃܭ ൃల อक ϛΫϩϓϩηε ⤵︎ ⤵︎ ⤵︎ ⤵︎ ΦϒδΣΫτ ͷൃݟ ΫϥεͱΦϒδΣ Ϋτͷҙຯͷ ൃݟͱৄࡉԽ ΫϥεͱΦϒδΣ Ϋτͷؔͷ ൃݟͱৄࡉԽ ΫϥεͱΦϒδΣΫ τͷΠϯλϑΣʔε ͱ࣮ͷࢦఆ ⤵︎ ⤵︎ ⤵︎ ⤵︎
ϚΫϩϓϩηε ೲΛલఏͱͨ͠ɺ ։ൃαΠΫϧશମΛ ද͢ɻ ͦͷͳ͔Ͱ ܁Γฦ͠ܕͷ ϛΫϩϓϩηε͕
ߦΘΕΔɻ ͜ͷαΠΫϧͷෳ߹͕ #PPDI๏ͷಛͰ͋Δ ֓೦Խ ϚΫϩϓϩηε ੳ ઃܭ ൃల อक ϛΫϩϓϩηε ⤵︎ ⤵︎ ⤵︎ ⤵︎ ΦϒδΣΫτ ͷൃݟ ΫϥεͱΦϒδΣ Ϋτͷҙຯͷ ൃݟͱৄࡉԽ ΫϥεͱΦϒδΣ Ϋτͷؔͷ ൃݟͱৄࡉԽ ΫϥεͱΦϒδΣΫ τͷΠϯλϑΣʔε ͱ࣮ͷࢦఆ ⤵︎ ⤵︎ ⤵︎ ⤵︎
0.5๏
0.5๏ओএऀɿ δΣʔϜζɾϥϯϘʔ ੜ ɾίϯϐϡʔλɾ ɹΞʔΩςΫνϟ֓೦ͷ ɹߟҊऀͷҰਓ
ɾ(&ͰΦϒδΣΫτ ɹࢦݴޠΛઃܭ
0.5๏ΦϒδΣΫτ ϞσϧԽٕ๏ͷ ུͰ͋Δɻ ʹץߦ͞Εͨ ʮΦϒδΣΫτࢦ ํ๏0.5ʯͰ ·ͱΊΒΕͨɻ
0.5๏ͰγεςϜΛ ̏ͭͷ؍ Ϗϡʔ ͔Β ϞσϧԽ͢Δɻ ͦΕΒΛ͍͚Δ͜ͱ Ͱɺ։ൃऀҙਤΛ ໌֬ʹఏࣔ͢Δ͜ͱ͕
Ͱ͖Δɻ γεςϜ ΦϒδΣΫτϞσϧ ಈతϞσϧ ػೳϞσϧ
ΦϒδΣΫτϞσϧͰ ΦϒδΣΫτͷ ࣮ମ ΤϯςΟςΟ ͱ ͦͷߏɺؔΛ දݱ͢Δɻ ಈతϞσϧͰ ΦϒδΣΫτͷ
;Δ·͍ͱঢ়ଶͷมԽΛ දݱ͢Δɻ ΦϒδΣΫτϞσϧ ܧঝ Ϋϥε Ϋϥε Ϋϥε ಈతϞσϧ ΦϒδΣΫτੜ ঢ়ଶ̍ ঢ়ଶ̎ ঢ়ଶ̍ ঢ়ଶભҠ
ػೳϞσϧͰ ϝοηʔδ σʔλϑϩʔΛ දݱ͢Δɻ ͜ͷΑ͏ʹɺ0.5๏ ෳͷࢹ࠲͔Β ඳ͘͜ͱͰɺ ϓϩμΫτͷଟ໘ੑΛ
දݱ͠Α͏ͱͨ͠ɻ ػೳϞσϧ ϝοηʔδ
ͦͷޙ
ͦͷଞʹɺ ʹଟ༻ͳ ΦϒδΣΫτࢦख๏͕ ݱΕ͍ͯͨɻ ɾ004&๏ ɾϤʔυϯɾίʔυ๏ ɾγϡϥΠΞʔɾ
ɹϝʔϥ๏ ΠϰΝʔɾϠίϒιϯ ΤυϫʔυɾϤʔυϯ
ϒʔνɺϥϯϘʔɺϠί ϒιϯ͕߹ྲྀ͠ɺ ౷ҰϞσϦϯάݴޠ 6.-͕ੜ͢Δɻ ʢʣ ͔͠͠ݱࡏͷզʑ 6.-ΛֶͿػձ
গͳ͘ɺ࣮ࡍͦΕ΄Ͳ ඞཁͱ͞Εͳ͘ͳͬͨɻ ͳ͔ͥʁ
Ϥʔυϯͷ൷ɺ 6.-༰͕ ଟ͘ͳΓ͗͢ɺ ख़͢Δͷ͕ ͍͜͠ͱͩͬͨɻ
·ͨͦͷޙʹ๚Εͨͷ ΞδϟΠϧ։ൃͷͰ ͋ͬͨɻʢʣ ϓϩηεπʔϧΑΓ ݸਓͱରΛ ͜ͷݴ༿ʹ6.-Λ ͡Ίͱͨ͠ υΩϡϝϯτॏࢹͷ ϞσϦϯάख๏ͷ ൷͕ݱΕ͍ͯͨɻ
݁ޠ
݁ޠ ͷख๏υΩϡϝϯτΛॏࢹ͍ͯͨ͠ɻ ͷΞδϟΠϧͷைྲྀͷͳ͔Ͱ 6.-ͱͦͷࢥݹͼ͍ͯͬͨɻ ͔͠͠ɺݱͰΣϒαʔϏεͷ։ൃ େنԽɺॏྔԽͷҰาΛͨͲ͍ͬͯΔɻ ͦͷͳ͔Ͱɺ6.-ͷΑ͏ͳख๏͕
࠶ͼ٭ޫΛཋͼΔ͕དྷΔ͔͠Εͳ͍ɻ
!KPZUPNP ͓ࣄɿגࣜձࣾϑΫϩϥϘ ɾωοτࠂπʔϧ։ൃ ɾΫϦΤΠλʔ͚ΞϓϦ։ൃ ৽ࣄۀ ͓༡ͼ ɾΤϯδχΞͷͨΊͷਓจಡॻձ ɾਓ͔ΒΘ͔Δٕज़࢙
ओཁࢀߟจݙ ɾ1ɾίʔυ&ɾϤʔυϯʮΦϒδΣΫτࢦੳʕ00"ʯ ɹɹτούϯ ࢜θϩοΫεใγεςϜӋੜాӫҰ༁ ɾάϥσΟɾϒʔνʮΦϒδΣΫτιϦϡʔγϣϯʯ ɹɹϐΞιϯΤσϡέʔγϣϯ
ੴࠀݾ༁ ɾ-PDLIFFE.BSUJO"EWBODFE$PODFQUT$FOUFS3BUJPOBM ɹɹ4PGUXBSF$PSQPSBUJPOʮΦϒδΣΫτࢦ։ൃࣗ༝ࣗࡏʯ ɹɹτούϯ ౻ҪӋੜాӫҰ༁ ɾάϥσΟɾϒʔνʮΦϒδΣΫτιϦϡʔγϣϯʯ ɹɹϐΞιϯΤσϡέʔγϣϯ ੴࠀݾ༁