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
オブジェクト指向のこころ: 第25章 / DESIGN PATTERNS EXPLAINED:...
Search
hideki kinjyo
PRO
March 03, 2022
Programming
0
170
オブジェクト指向のこころ: 第25章 / DESIGN PATTERNS EXPLAINED: chapter-25
会社で「オブジェクト指向のこころ」の読書会をやっています
hideki kinjyo
PRO
March 03, 2022
Tweet
Share
More Decks by hideki kinjyo
See All by hideki kinjyo
『テスト書いた方が開発が早いじゃん』を解き明かす #phpcon_nagoya
o0h
PRO
6
2k
色んなオートローダーを覗き見る #phpcon_okinawa
o0h
PRO
5
560
ヒューマンエラーの本を読んだ ~報告会~
o0h
PRO
3
290
みんなでワイワイ「テスト駆動開発」の話をやる会 #techramen24conf
o0h
PRO
3
550
SPLから始める「データ構造」入門
o0h
PRO
7
1.9k
PHPUnit11の新しい仲間たち
o0h
PRO
3
420
単体テストを書かない技術 #phpcon_odawara
o0h
PRO
62
21k
パンフ記事 「初めてのリファクタリング!」 の裏側 #phperkaigi
o0h
PRO
2
170
phpunit/php-code-coverageって何をしてるんだ #phperkaigi
o0h
PRO
3
1.5k
Other Decks in Programming
See All in Programming
sappoRo.R #12 初心者セッション
kosugitti
0
260
GitHub Actions × RAGでコードレビューの検証の結果
sho_000
0
280
クリーンアーキテクチャから見る依存の向きの大切さ
shimabox
4
880
法律の脱レガシーに学ぶフロントエンド刷新
oguemon
5
740
XStateを用いた堅牢なReact Components設計~複雑なClient Stateをシンプルに~ @React Tokyo ミートアップ #2
kfurusho
1
950
Djangoにおける複数ユーザー種別認証の設計アプローチ@DjangoCongress JP 2025
delhi09
PRO
4
390
なぜイベント駆動が必要なのか - CQRS/ESで解く複雑系システムの課題 -
j5ik2o
12
4.4k
『品質』という言葉が嫌いな理由
korimu
0
180
SwiftUI Viewの責務分離
elmetal
PRO
2
250
Spring gRPC について / About Spring gRPC
mackey0225
0
230
Kubernetes History Inspector(KHI)を触ってみた
bells17
0
240
時計仕掛けのCompose
mkeeda
1
310
Featured
See All Featured
Adopting Sorbet at Scale
ufuk
74
9.2k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
30
4.6k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
49
2.3k
What's in a price? How to price your products and services
michaelherold
244
12k
We Have a Design System, Now What?
morganepeng
51
7.4k
KATA
mclloyd
29
14k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
29
1k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
21
2.5k
Fireside Chat
paigeccino
34
3.2k
Thoughts on Productivity
jonyablonski
69
4.5k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
175
52k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.1k
Transcript
ୈ25ষ σβΠϯύλʔϯͷ͓͞Β͍: ૯ׅͱࠓޙ ՝ਤॻ: ΦϒδΣΫτࢦͷ͜͜Ζ: σβΠϯύλʔϯͱͱʹֶͿ
ΦϒδΣΫτࢦݪଇͷαϚϦ
ΦϒδΣΫτͱɺదͳΛ͏ ͷͰ͋Δ
ʁ • “λεΫΛ࣮ߦ͢Δٛɺ·ͨใΛ͍࣋ͬͯΔٛ” • ҎԼͷ3ͭͷओཁͳؚ߲͕·ΕΔ • ΦϒδΣΫτ͕ߦ͏ಈ࡞ • ΦϒδΣΫτ͕࣋ͭࣝ •
ΦϒδΣΫτ͕ଞʹӨڹΛ༩͑Δओཁͳஅ
ʁ • “Ϋϥε୯ҰͷతΛ࣋ͭͷͩͱߟ͑ͯΈΔͱɺΫϥε ͕͢Δ͜ͱʢΫϥεͷΑΓ۩ମతͳʣɺ͓ͷͣͱͦ ͷతΛՌͨ͢ͷͱͳΓ·͢ɻ” • ΫϥεͷύϒϦοΫϝιουɺ ͷઆ໌ͱͯ͠ղऍͰ͖Δ • ύϒϦοΫΠϯλʔϑΣʔεɺ
ΫϥεͷΛ໌֬ʹड़Δܖॻ
ΦϒδΣΫτͱɺదͳΛ͏ͷͰ͋Δ ߨ ࢣ େֶӃੜ ֶੜ ߨٛΛ͢ΔΑ ߨٛΛड͚ΔΑ ڭࣨΛҠ ಈ͢ΔΑ ࣌ؒ
ׂ Ξϯέʔτ ճऩ͢ΔΑ ߨٛͷ࣌ؒͱ ڭࣨΛࣔ͢Α
ΦϒδΣΫτɺࣗΒʹର͢ΔΛ༗ ͍ͯ͠Δ
Λ͏ͱɺΛ༗͢Δͱ͍͏͜ͱͰ͢ • OOP/OODʮΦϒδΣΫτಉ͕࢜࿈ܞ͋ͬͯ͠ɺγεςϜΛ࡞ Γ্͛Δʯͱ͍͏ൃ • ͋ΒΏΔΦϒδΣΫτʮଞऀ͔Βظ͞ΕΔ݁ՌΛ͞ͳ͍ͱ ͍͚ͳ͍ʂʂʯͱ͍͏ͷ͕େલఏʹͳΔ • ʮѪΒ͍͠খಈΦϒδΣΫτʯΛཁٻͨ͠ͷʹɺʮΞϑϦΧ κΑΓσΧ͍͔ΒՈʹೖΒͳ͍ͶʯͩͱγεςϜ͕ഁ͢Δ
• ՝͞ΕͨΛՌͨ͢ɺͱ͍͏Λཁ͍ͯ͠Δ • 㲈త͕͋Δ͔Βͦ͜ɺΦϒδΣΫτ͕ੜΈग़͞Ε͍ͯΔ
ΦϒδΣΫτɺࣗΒʹର͢ΔΛ༗͍ͯ͠Δ ߨ ࢣ େֶӃੜ ߨٛΛ͢ΔΑ Ξϯέʔ τճऩͨ͠Γ ͳͨ͘͠Γ͢ΔΑ Ξϯέʔτճऩ్த ʹFYJU͢ΔΑ
͜ΕͰࣄޙ݅Λຬͨͤͳ͍ʂ
ΧϓηϧԽͱɺ͋ΒΏΔछྨͷӅṭΛ ҙຯ͍ͯ͠Δ
ΧϓηϧԽ ͳʹɾͳΜͰ • ΧϓηϧԽʮ͋ΒΏΔͷͷӅṭ(P18)ʯ • “ΧϓηϧʢӳޠɾϑϥϯεޠɿCapsuleɺυΠπޠɿKapselʣͱɺ ʮখശʯΛҙຯ͢Δϥςϯޠͷ capsula ʹ༝དྷ͠ɺԿ͔Λ٧Ί͓ͯͨ͘ Ίͷ༰ثͷ͜ͱΛද͢ɻ”
https://ja.wikipedia.org/wiki/Χϓηϧ • ར༻ऀʹରͯ͠ɺʮ෦ΛӅ͢ʯʮެ։͢ΔใΛඞཁ࠷ݶͷͷʹ ݶఆ͢Δʯ • ΦϒδΣΫτࢦ͕Γ͍ͨ͜ͱ = ߴڽूɾૄ݁߹ • ΧϓηϧԽʮૄ݁߹ʯΛՃͤ͞ΔͨΊͷ༗༻ͳखஈ
σʔλͷӅṭ • ʮσʔλΛӅṭ͢Δͷ͕େࣄʯͱ͍͏ΑΓɺ ʮৄࡉΛଞऀؒͰྲྀ௨ͤ͞ͳ͍ʯͷ͕ྑ͍ઃܭʹͭͳ͕Δɺͱ͍͏ ײ֮ͷํ͕௫Έ͍͔͢ʁ • privateΛଚॏ͠·͠ΐ͏ɾɾʂ • ʮࡉ͔͘ΕΔʯ͜ͱʮࡉ͔͍ͬͯ͘Δʯʹܨ͕ͬͯɺ͢Δ ͱʮࡉ͔͍͜ͱʹΛ࣋ͭʯ͜ͱʹܨ͕Γ͔Ͷͳ͍
• ٯʹʮࡉ͔͍͜ͱΒͳ͍ʯͩͱɺ͓ޓ͍ͷʮຊʹඞཁͳ͜ ͱɺՌ͍ͨͨ͠తʯʹج͍ͮͨؔੑΛங͚Δ • Βͳ͍ํ͕ྑ͔ͬͨ͜ͱɺͨ͘͞Μ͋Γ·͢ΑͶɻઃܭಉ͡
࣮ͷӅṭ • ֤ΦϒδΣΫτͷಠཱੑΛकΓ·͠ΐ͏ʂʂతͳ • ʮ˓˓Λڭ͑ͯԼ͍͞ɺͨͩͦ͠ͷաఔ͋ͳͨʹҕͶ· ͢ʯ • ࣮͕Ӆṭ͞Ε͍ͯͳ͍ͱʁ => ΑΓʮखଓ͖ܕʯͬΆ͘ͳͬͨΓͦ͠͏
• ͋Δ͖ؔ: ʮXͱݴͬͨΒYʹ͍ͭͯڭ͑ͯʯ • ා͍ؔ: ʮ(Yʹ͍ͭͯΓ͍͔ͨΒ)d->a->gg->daͯ͠ʯ
ΫϥεͷӅṭ • લఏͱͯ͠ʮతʹద͏ͳΒɺԿͷΦϒδΣΫτͰ͑͑ ͰʯతͳελϯεͰ͍Δͱྑ͍ઃܭʹͳΓ͍͢ • ͦ͜Ͱ • ʮతʯΛந/Ծ/ΠϯλʔϑΣΠεͰఆٛͯ͠ɺ • ࣮/۩ମ(۩)ʹ͍ͭͯʮΒͳ͍͠ɺ͓ͤʂʯͰ
ࡁΉΑ͏ʹक͍ͬͯ͘
ઃܭͷӅṭ • (Facadeύλʔϯͱ͔ʹݟΒΕΔΑ͏ͳɺʮ۩ମతͳத ʹ͍ͭͯӅͭͭ͠ɺར༻ऀ͕ఏڙͰ͖Δใ(Ҿɺ input)Λड͚औͬͯࣗͷࣝ(ͱҕৡ)ʹΑͬͯɺతʹ͔ ͳ͏݁Ռ(output)Λฦ͢ʯΈ͍ͨͳΛࢦ͍ͯ͠Δ͔ͳʁ ͱࢥͬͨ) • օ͞ΜͲ͏ࢥ͍·ͨ͠ʁ
࣮ମԽͷӅṭ • ΦϒδΣΫτͷੜɺίϯετϥΫτʹ͍ͭͯʮతʹΒͳͯ͘ ͍͍ײ͡ʹ͢Δʯͱ͍ͬͨ • Factoryύλʔϯ • ͳͥʁ • ʮੜ͢Δʯͱ͍͏γʔϯʹ͓͍ͯɺ(ࣗڵຯͳ͍ͷʹ૬खͷ
߹ʹै͏ͨΊʹʂʂ)ͱͯଟ͘ͷใΛඞཁͱ͢Δɺͱ͍͏͜ͱ ͕ଟ͍ • ͜Ε͕ෆཁͳ݁߹ΛͨΒ͢
ৼΔ͍σʔλʹଘࡏ͢Δྲྀಈతཁૉ ɺڞ௨ੑ/ՄมੑੳʹΑͬͯநԽ ͢Δ
ڞ௨ੑɺՄมੑ • ڞ௨ੑ: ෳͷଘࡏʹஔ͍ͯීวతʹଘࡏ͢Δ(ৼΔ͍) • Մมੑ(ྲྀಈੑɺมಈੑ): ଞʹͳ͍ɺࠩҟ͕͋Δɺಠࣗੑͱͯ͠ଘࡏ͢Δ(ৼΔ͍) • ڞ௨ੑΛݟൈ͍ͯ(֓೦Ϩϕϧ)ɺͦΕΛநͱͯ͠ද͍ͯ͠ ͘(༷Ϩϕϧ)ɻʮڞ௨ੑʹऩ·Βͳ͍෦ʯΛ۩ͱͯ͠
࣮͢Δ(࣮Ϩϕϧ)
ʮڞ௨ੑΛநʹʯͰͳ͔ͬͨΒԿ͕ʁ • ྫ͑ʮখ͍͞ϊʔτʯͱʮେ͖͍ϊʔτʯʮେখΛ݉ͶΔʯͷͰɺந /ܧঝؔʹ͍͔ͨ͠ʁ • ڞ௨͍ͯ͠Δͷʮϊʔτੑʯͷͣ • ʮࣈ࿅शாʯͱʮࣗ༝ாʯʁ • ʮݘʯʮೣʯʮΫδϥʯͷؔʁ
• ੜ্ֶͷʮᄡೕྨʯ͕ɺఏڙ͢ΔγεςϜ෦ʹ͓͚Δʮతʯͷ؍͔ Βʮҙຯͷ͋Δڞ௨ੑʯͳͷ͔ʁ • ʮݘʯʮೣʯʮΠϯίʯͷؔʁ • ʮѪ؝ಈʯʮ໐͘(ੜ)ʯͱ͍͏ڞ௨ੑ͕େࣄʁ • ʮࣂ͍ํʯʮ໐͖ํʯՄมੑʹͳΔ
େֶӃੜ ֶੜ ߨٛΛड͚ΔΑ ڭࣨΛҠ ಈ͢ΔΑ Ξϯέʔτ ճऩ͢ΔΑ ߨٛΛड͚ΔΑ େֶӃੜֶੜͷόϦΤʔγϣϯ͔ʁ (ߨٛΛฉ͘༁Ͱͳ͍)TAͲ͏͢Δʁ
ߨٛΛࢹʹདྷ͓ͨҒ͍͞ΜͲ͏ʁ
ʮಉ͡తʹجͮ͘ཁૉʯͱ ଊ͑ΒΕͦ͏ʁ େֶӃੜ ֶੜ ߨٛΛड͚ΔΑ ڭࣨΛҠ ಈ͢ΔΑ Ξϯέʔτ ճऩ͢ΔΑ ߨٛΛड͚ΔΑ
ߨٛΛฉ͚ Δౕ ߨٛͷ ӡӦαϙʔ τౕ डߨ४උͰ ͖Δౕ ڞ௨ੑͷநग़ʹͱͮ͘நԽ
ΠϯλʔϑΣΠεΛ༻͍࣮ͯ͢Δ
InterfaceΛඞͣ͏ʁ • ίίͰࢦ͍ͯ͠Δͷɺඞͣ͠ݴޠػೳ্ͷʮInterfaceʯͱ ͍͏ҙຯͰͳ͍ɻͣɻ • ΠϯλʔϑΣΠε = ʮԿΛೖΕͨΒʯʮ(ԿΛͯ͠)ԿΛฦ͔͢ʯ • ݴ͍͑Δͱʮ͍ํʯʹΑͬͯʮԿ͕ಘΒΕΔ͔ʯ
• ͜ΕʮతʯʮػೳʯʹԊͬͨநԽ • ͭ·Γɺʮ࣮ଶ(۩)͔ΒۃྗΕͯɺత(ϩʔϧ)ಉ࢜ͷܨ͕ Γʹด͡ͳ͕ΒઃܭΛ͠·͠ΐ͏ʯ͘Β͍ͷ • ɾɾͱݸਓతʹࢥͬͨͷͰ͕͢ɺօ͞ΜͲ͏Ͱ͔͢ʁ
ܧঝɺطଘΦϒδΣΫτΛಛघԽ͢Δ ͨΊͷͷͰͳ͘ɺྲྀಈతཁૉΛ֓೦ Խ͢ΔͨΊͷखஈͱͯ͠ଊ͑Δ
େֶӃੜ Ξϯέʔτ ճऩ͢ΔΑ ߨٛΛड͚ΔΑ طଘΦϒδΣΫτΛಛघԽ͢Δྫ 5" ʮΦϒδΣΫτͷత()ͱؔͳ͍ϝιουʯΛ͍࣋ͬͯΔ ߨٛΛड͚Δ ༁Ͱͳ͍ ͔ΒΦʔόʔϥΠυΑ
େֶӃੜ Ξϯέʔτ ճऩ͢ΔΑ ߨٛΛड͚ΔΑ ߨٛΛฉ͚ Δౕ ߨٛͷ ӡӦαϙʔ τౕ डߨ४උͰ
͖Δౕ நʹΑͬͯྲྀಈతཁૉΛ֓೦Խ͢Δྫ 5" Ξϯέʔτ ճऩ͢ΔΑ
ֶੜ ֶशͷͨΊʹ ߨٛΛड͚ΔΑ ߨٛΛฉ͚ Δౕ நʹΑͬͯྲྀಈతཁૉΛ֓೦Խ͢Δྫ ࢹ Ϛϯ ධՁΛ͠ͳ͕Β ߨٛʹࢀՃ͢ΔΑ
ཧ͢Δσʔλ • ߨࢣͷύϑΥʔ Ϛϯε • डߨऀͷԠ ཧ͢Δσʔλ • ڭत༰ • ࢼݧɺ॓ͷใ
͋ͱ7߲ڍ͕͍ͬͯΔΑ • Ϋϥεதʹଘࡏ͢Δྲྀಈతཁૉ͔Βɺҟ࣭ͳྲྀಈతཁૉΛΓग़͢ • ݁߹Λ͘͢ΔΑ͏ΊΔ • ڽूΛߴ͘͢ΔΑ͏ΊΔ • ΦϒδΣΫτΛ༻͢ΔίʔυͱɺͦͷΦϒδΣΫτΛੜ͢Δ ίʔυΛ͢Δ
• OAOOϧʔϧΛݫक͢Δ • ҙਤʹΑΔϓϩάϥϛϯάͱҙਤΛ໌֬ʹද͢ωʔϛϯάϧʔϧΛ ༻͍ͯɺίʔυͷՄಡੑ্ʹΊΔ • ίʔσΟϯάΛ։࢝͢ΔલʹɺίʔυͷςετՄೳੑΛߟྀ͢Δ
σβΠϯύλʔϯʹΑΔ ࣮ͷΧϓηϧԽํ๏
ར༻ऀ-࣮ߦऀͷؔ • ”ࠓ·Ͱհ͖ͯͨ͠σβΠϯύλʔϯͷ͍͔ͭ͘ɺΫϥ ΠΞϯτΦϒδΣΫτ͔Β࣮ͷৄࡉΛӅṭ͢Δͱ͍͏ಛ Λ͍࣋ͬͯ·ͨ͠” νϟʔϋϯ ͍ͩ͘͞ʂ νϟʔϋϯ ͋͛ΔΑʂ ྫྷౚ͔
ങ͍ग़͠ ख࡞Γ ࣮ͷৄࡉʮ࣮ߦऀʯ͕ܾΊΔɻ ར༻ऀͷࢹքʹೖΕͤ͞ͳ͍ɺΓ͢
• ࣮ͷӅṭʹΑ֦ͬͯுΛ༰қʹ͢Δ • ྫ: Bridgeύλʔϯ • ࣮ͱந(ΠϯλʔϑΣΠε)ΛΓͯ͠ɺར༻ऀந ʹ͚͔͚ͩ͠ΔΑ͏ʹ͢Δ • ࣮ͷछྨ͕૿͑ͯɺΫϥΠΞϯτӨڹΛड͚ͣʹ
֦ுͰ͖ΔΑ͏ʹͳΔ ࣮ͷӅṭʹΑΔ֦ுੑͷ୲อ
ڞ௨ੑ/Մมੑੳͱ σβΠϯύλʔϯ (25.4ʙ25.6)
ڞ௨ੑ/ՄมੑੳͱྖҬ • “͔͠͠࠷ॏཁͳ͜ͱɺڞ௨ੑ/ՄมੑੳΛ༻͍ͨڞ௨ੑ ͷચ͍ग़͠ʹΑͬͯɺྖҬʹଘࡏ͍ͯ͠ΔύλʔϯΛચ͍ ग़͢ࡍͷख͕͔Γ͕ಘΒΕΔͱ͍͏͜ͱͳͷͰ͢ɻ” • ʮ࣮Ϩϕϧͷܗ͕ݟ͑Δʯ͜ͱΑΓɺ ʮྖҬͷܗΛϒϥογϡΞοϓͰ͖Δʯͷ͕ଚ͍ʂ • (֓೦Ϩϕϧͷ)நΛͲ͏͢Δʁ͕ܾ·ΕɺInterface/
implementsAbstract/extendsͲ͏͢Δʁࣗͣͱಋ͔ΕΔ ΑͶʙʂͱ͍͏ҼՌؔʹͦ͜Λ͚Δ
ڞ௨ੑ/Մมੑੳͱύλʔϯ • σβΠϯύλʔϯɺʮΑ͋͘Γ͕ͪͳXʯʹରͯ͠ʮ͍͍ײ͡ ʹϋϚΓ͍͢ܗࣜʯͱ͍͏දݱํ๏ΛఆࣜԽͨ͠ͷɾɾͱݴ͑ Δ • Α͋͘Γ͕ͪͳ = ڞ௨ੑ •
ʮ࣮ͷܗʯΑΓʮͲ͏͍͏෩ʹͷલͷΛೝࣝ͢Δ͔ʯͷ खॿ͚ʹͳΔʂ • strategyͬΆ͍ɺfacadeͬΆ͍ɺfactoryͬΆ͍etc… • ʮ˓˓͕ͬͯ͋ΔͷΛ͍ͬͯΔʯ͜ͱͷՁ
ύλʔϯͷؔ࿈
ύλʔϯॏཁͳͷͰͳ͘ͳΔ • ΞϨάβϯμʔʮੜ͖ੜ͖ͱͨ͠ݐઃʯΛࢦͨ͠ਓ • ͨͱ͑ʮݟͨͷඒ͠͞ίϯηϓτ͚ͩΛॏࢹͨ͠ɺډ ৺͕ѱ͍ਤॻؗʯͱ͔͕ݏʙͬͯਓɻʮຊΛಡΉਓͷࣗવ ͱཉ͢Δͷ͕݉ͶඋΘ͍ͬͯΔݐઃʯ͕͍͍ΑͶʂͬͯ • ύλʔϯϥϯήʔδɺͦ͏ͨ͠ʮΑ͘ٻΊΒΕΔͷʯʮͦ ͷޮՌɺํ๏ʯΛ·ͱΊͨͷ
• ͳͷͰɺʮ͠ύλʔϯࣗମΛΒͳͯ͘ɺཉ͍͠ͱ࣮ݱ ํ๏͕ࣗવͱ༙͖ग़ͯ͘Δʯ͜ͱʹൺͯʮύλʔϯΛͬͯ ͍Δʯ͜ͱͷॏཁੑԼ͢Δ
ίϯςΩετ͕ઌɺύλʔϯ͕ޙ(Έ͍ͨͳ) • ”ݱ࣮Λͦͷ··ड͚ೖΕΔ͜ͱΛֶΜͰ͠·͑ɺ ύλʔϯͦͷͷॏཁͰͳ͍” • ”࢝ΊతͳڌΓॴͰ͋ͬͨΞϧίʔϓͱ͍͏ύλʔϯ ͕ɺඞཁͰͳ͘ͳΔɻ(தུ)ᴷ୯ʹͦΕ͕;͞Θ͠ ͍ͱ͍͏ཧ༝ͰᴷΞϧίʔϒΛ࡞Δ͜ͱʹͳΔ” • ࣝͱͯ͠ύλʔϯΛʹ͚ͭΔ͜ͱͰίϯςΩετΛࣝ
ผ͘͢͠ͳΔ͔Εͳ͍͕ɺύλʔϯ͕ಛఆͷί ϯςΩετΛ༠ൃ͢ΔͷͰͳ͍
·ͱΊతͳͷ • ΦϒδΣΫτࢦݪଇ • (͍ҙຯͰͷ)ΧϓηϧԽΛେࣄʹͯ͠ʂ • ߴڽूͱૄ݁߹Λࢦͯ͠ʂ • ڞ௨ੑΛநग़ͯ͠நΛ࡞ͬͯɺநΛཔΓʹͨ͠ઃܭΛͯ͠ʂ •
σβΠϯύλʔϯ • ΦϒδΣΫτࢦݪଇΛ׆͔͠·ͬͨ͘ྑ͍ײ͡ͷϨγϐूͰ͋ΔΑʂ • ύλʔϯΛͬͯɺਂΊΔ͜ͱͰྖҬͷΞϓϩʔνڧ͘ͳΕΔʂ • ύλʔϯͦͷͷΛΔ͜ͱͰͳ͍ΑɺʮΛݟۃΊΒΕΔΑ͏ʹͳ ΔʯʮͦͷରԠ๏ͱɺͦΕʹΑΔӨڹʯΛ௫ΊΔΑ͏ʹͳΔͷ͕େࣄʂ • ྑ͍ઃܭʹΑͬͯɺมߋʹڧ͍γεςϜΛߏங͍ͯ͘͠ʂ