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
150
オブジェクト指向のこころ: 第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_okinawa
o0h
PRO
5
380
ヒューマンエラーの本を読んだ ~報告会~
o0h
PRO
2
210
みんなでワイワイ「テスト駆動開発」の話をやる会 #techramen24conf
o0h
PRO
3
400
SPLから始める「データ構造」入門
o0h
PRO
7
1.5k
PHPUnit11の新しい仲間たち
o0h
PRO
3
270
単体テストを書かない技術 #phpcon_odawara
o0h
PRO
60
19k
パンフ記事 「初めてのリファクタリング!」 の裏側 #phperkaigi
o0h
PRO
2
130
phpunit/php-code-coverageって何をしてるんだ #phperkaigi
o0h
PRO
3
1k
Composerを便利に使うために私がやっていること #phperkaigi
o0h
PRO
1
2.2k
Other Decks in Programming
See All in Programming
標準ライブラリの動向とイテレータのパフォーマンス
makki_d
3
190
XP2024 っていう国際会議に行ってきたよの記 / XP2024 Conference Report
bonotake
4
200
CSC305 Lecture 01
javiergs
PRO
1
140
Infrastructure as Code でセキュリティを楽にしよう!
konokenj
6
1.4k
Subclassing, Composition, Python, and You
hynek
3
120
全方位強化 Python 服務可觀測性:以 FastAPI 和 Grafana Stack 為例
blueswen
1
370
Интеграционное тестирование: как приручить хаос
mariyasaygina
0
520
Iteratorでページネーションを実現する
sonatard
3
700
"Swarming" をコンセプトに掲げるアジャイルチームのベストプラクティス
boykush
2
220
AWS CDKを用いたセキュアなCI/CDパイプラインの構築 / Build a secure CI/CD pipeline using AWS CDK
seike460
PRO
3
590
実践Dash - 手を抜きながら本気で作るデータApplicationの基本と応用 / Dash for Python and Baseball
shinyorke
2
250
DjangoNinjaで高速なAPI開発を実現する
masaya00
0
490
Featured
See All Featured
Faster Mobile Websites
deanohume
304
30k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
167
48k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
37
1.7k
Making the Leap to Tech Lead
cromwellryan
130
8.8k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
7
560
A Tale of Four Properties
chriscoyier
155
22k
Building Applications with DynamoDB
mza
90
6k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
4
110
Producing Creativity
orderedlist
PRO
341
39k
Intergalactic Javascript Robots from Outer Space
tanoku
268
27k
Rails Girls Zürich Keynote
gr2m
93
13k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
30
2.6k
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… • ʮ˓˓͕ͬͯ͋ΔͷΛ͍ͬͯΔʯ͜ͱͷՁ
ύλʔϯͷؔ࿈
ύλʔϯॏཁͳͷͰͳ͘ͳΔ • ΞϨάβϯμʔʮੜ͖ੜ͖ͱͨ͠ݐઃʯΛࢦͨ͠ਓ • ͨͱ͑ʮݟͨͷඒ͠͞ίϯηϓτ͚ͩΛॏࢹͨ͠ɺډ ৺͕ѱ͍ਤॻؗʯͱ͔͕ݏʙͬͯਓɻʮຊΛಡΉਓͷࣗવ ͱཉ͢Δͷ͕݉ͶඋΘ͍ͬͯΔݐઃʯ͕͍͍ΑͶʂͬͯ • ύλʔϯϥϯήʔδɺͦ͏ͨ͠ʮΑ͘ٻΊΒΕΔͷʯʮͦ ͷޮՌɺํ๏ʯΛ·ͱΊͨͷ
• ͳͷͰɺʮ͠ύλʔϯࣗମΛΒͳͯ͘ɺཉ͍͠ͱ࣮ݱ ํ๏͕ࣗવͱ༙͖ग़ͯ͘Δʯ͜ͱʹൺͯʮύλʔϯΛͬͯ ͍Δʯ͜ͱͷॏཁੑԼ͢Δ
ίϯςΩετ͕ઌɺύλʔϯ͕ޙ(Έ͍ͨͳ) • ”ݱ࣮Λͦͷ··ड͚ೖΕΔ͜ͱΛֶΜͰ͠·͑ɺ ύλʔϯͦͷͷॏཁͰͳ͍” • ”࢝ΊతͳڌΓॴͰ͋ͬͨΞϧίʔϓͱ͍͏ύλʔϯ ͕ɺඞཁͰͳ͘ͳΔɻ(தུ)ᴷ୯ʹͦΕ͕;͞Θ͠ ͍ͱ͍͏ཧ༝ͰᴷΞϧίʔϒΛ࡞Δ͜ͱʹͳΔ” • ࣝͱͯ͠ύλʔϯΛʹ͚ͭΔ͜ͱͰίϯςΩετΛࣝ
ผ͘͢͠ͳΔ͔Εͳ͍͕ɺύλʔϯ͕ಛఆͷί ϯςΩετΛ༠ൃ͢ΔͷͰͳ͍
·ͱΊతͳͷ • ΦϒδΣΫτࢦݪଇ • (͍ҙຯͰͷ)ΧϓηϧԽΛେࣄʹͯ͠ʂ • ߴڽूͱૄ݁߹Λࢦͯ͠ʂ • ڞ௨ੑΛநग़ͯ͠நΛ࡞ͬͯɺநΛཔΓʹͨ͠ઃܭΛͯ͠ʂ •
σβΠϯύλʔϯ • ΦϒδΣΫτࢦݪଇΛ׆͔͠·ͬͨ͘ྑ͍ײ͡ͷϨγϐूͰ͋ΔΑʂ • ύλʔϯΛͬͯɺਂΊΔ͜ͱͰྖҬͷΞϓϩʔνڧ͘ͳΕΔʂ • ύλʔϯͦͷͷΛΔ͜ͱͰͳ͍ΑɺʮΛݟۃΊΒΕΔΑ͏ʹͳ ΔʯʮͦͷରԠ๏ͱɺͦΕʹΑΔӨڹʯΛ௫ΊΔΑ͏ʹͳΔͷ͕େࣄʂ • ྑ͍ઃܭʹΑͬͯɺมߋʹڧ͍γεςϜΛߏங͍ͯ͘͠ʂ