Upgrade to Pro — share decks privately, control downloads, hide ads and more …

オブジェクト指向のこころ: 第25章 / DESIGN PATTERNS EXPLAINED: chapter-25

オブジェクト指向のこころ: 第25章 / DESIGN PATTERNS EXPLAINED: chapter-25

会社で「オブジェクト指向のこころ」の読書会をやっています

hideki kinjyo
PRO

March 03, 2022
Tweet

More Decks by hideki kinjyo

Other Decks in Programming

Transcript

  1. ୈ25ষ
 σβΠϯύλʔϯͷ͓͞Β͍:
 ૯ׅͱࠓޙ ՝୊ਤॻ:
 ΦϒδΣΫτࢦ޲ͷ͜͜Ζ: σβΠϯύλʔϯͱͱ΋ʹֶͿ

  2. ΦϒδΣΫτࢦ޲ݪଇͷαϚϦ

  3. ΦϒδΣΫτͱ͸ɺద੾ͳ੹຿Λ൐͏΋ ͷͰ͋Δ

  4. ੹຿ʁ • “λεΫΛ࣮ߦ͢Δٛ຿ɺ·ͨ͸৘ใΛ͍࣋ͬͯΔٛ຿” • ҎԼͷ3ͭͷओཁͳ߲໨ؚ͕·ΕΔ • ΦϒδΣΫτ͕ߦ͏ಈ࡞ • ΦϒδΣΫτ͕࣋ͭ஌ࣝ •

    ΦϒδΣΫτ͕ଞʹӨڹΛ༩͑Δओཁͳ൑அ
  5. ੹຿ʁ • “Ϋϥε͸୯Ұͷ໨తΛ࣋ͭ΋ͷͩͱߟ͑ͯΈΔͱɺΫϥε ͕͢Δ͜ͱʢΫϥεͷΑΓ۩ମతͳ੹೚ʣ͸ɺ͓ͷͣͱͦ ͷ໨తΛՌͨ͢΋ͷͱͳΓ·͢ɻ” • ΫϥεͷύϒϦοΫϝιου͸ɺ ੹೚ͷઆ໌ͱͯ͠ղऍͰ͖Δ • ύϒϦοΫΠϯλʔϑΣʔε͸ɺ

    Ϋϥεͷ੹೚Λ໌֬ʹड़΂Δܖ໿ॻ
  6. ΦϒδΣΫτͱ͸ɺద੾ͳ੹຿Λ൐͏΋ͷͰ͋Δ ߨ ࢣ େֶӃੜ ֶੜ ߨٛΛ͢ΔΑ ߨٛΛड͚ΔΑ ڭࣨΛҠ ಈ͢ΔΑ ࣌ؒ

    ׂ Ξϯέʔτ ճऩ͢ΔΑ ߨٛͷ࣌ؒͱ ڭࣨΛࣔ͢Α
  7. ΦϒδΣΫτ͸ɺࣗΒʹର͢Δ੹຿Λ༗ ͍ͯ͠Δ

  8. ੹຿Λ൐͏ͱ͸ɺ੹຿Λ༗͢Δͱ͍͏͜ͱͰ͢ • OOP/OOD͸ʮΦϒδΣΫτಉ͕࢜࿈ܞ͋ͬͯ͠ɺγεςϜΛ࡞ Γ্͛Δʯͱ͍͏ൃ૝ • ͋ΒΏΔΦϒδΣΫτ͸ʮଞऀ͔Βظ଴͞ΕΔ݁ՌΛ࢒͞ͳ͍ͱ ͍͚ͳ͍ʂʂʯͱ͍͏ͷ͕େલఏʹͳΔ • ʮѪΒ͍͠খಈ෺ΦϒδΣΫτʯΛཁٻͨ͠ͷʹɺʮΞϑϦΧ κ΢ΑΓσΧ͍͔ΒՈʹೖΒͳ͍ͶʯͩͱγεςϜ͕ഁ୼͢Δ

    • ՝͞Εͨ੹຿ΛՌͨ͢ɺͱ͍͏੹຿Λཁ͍ͯ͠Δ • ੹຿㲈໨త͕͋Δ͔Βͦ͜ɺΦϒδΣΫτ͕ੜΈग़͞Ε͍ͯΔ
  9. ΦϒδΣΫτ͸ɺࣗΒʹର͢Δ੹຿Λ༗͍ͯ͠Δ ߨ ࢣ େֶӃੜ ߨٛΛ͢ΔΑ Ξϯέʔ τճऩͨ͠Γ ͳͨ͘͠Γ͢ΔΑ Ξϯέʔτճऩ్த ʹFYJU͢ΔΑ

    ͜ΕͰ͸ࣄޙ৚݅Λຬͨͤͳ͍ʂ
  10. ΧϓηϧԽͱ͸ɺ͋ΒΏΔछྨͷӅṭΛ ҙຯ͍ͯ͠Δ

  11. ΧϓηϧԽ ͳʹɾͳΜͰ • ΧϓηϧԽ͸ʮ͋ΒΏΔ΋ͷͷӅṭ(P18)ʯ • “ΧϓηϧʢӳޠɾϑϥϯεޠɿCapsuleɺυΠπޠɿKapselʣͱ͸ɺ ʮখശʯΛҙຯ͢Δϥςϯޠͷ capsula ʹ༝དྷ͠ɺԿ͔Λ٧Ί͓ͯͨ͘ Ίͷ༰ثͷ͜ͱΛද͢ɻ”

    https://ja.wikipedia.org/wiki/Χϓηϧ • ར༻ऀʹରͯ͠ɺʮ಺෦ΛӅ͢ʯʮެ։͢Δ৘ใΛඞཁ࠷௿ݶͷ΋ͷʹ ݶఆ͢Δʯ • ΦϒδΣΫτࢦ޲͕΍Γ͍ͨ͜ͱ = ߴڽूɾૄ݁߹ • ΧϓηϧԽ͸ʮૄ݁߹ʯΛՃ଎ͤ͞ΔͨΊͷ༗༻ͳखஈ
  12. σʔλͷӅṭ • ʮσʔλΛӅṭ͢Δͷ͕େࣄʯͱ͍͏ΑΓ͸ɺ ʮৄࡉΛଞऀؒͰྲྀ௨ͤ͞ͳ͍ʯͷ͕ྑ͍ઃܭʹͭͳ͕Δɺͱ͍͏ ײ֮ͷํ͕௫Έ΍͍͔͢΋ʁ • privateΛଚॏ͠·͠ΐ͏ɾɾʂ • ʮࡉ͔͘஌ΕΔʯ͜ͱ͸ʮࡉ͔͘஌͍ͬͯΔʯʹܨ͕ͬͯɺ͢Δ ͱʮࡉ͔͍͜ͱʹ΋੹೚Λ࣋ͭʯ͜ͱʹ΋ܨ͕Γ͔Ͷͳ͍

    • ٯʹʮࡉ͔͍͜ͱ͸஌Βͳ͍ʯͩͱɺ͓ޓ͍ͷʮຊ౰ʹඞཁͳ͜ ͱɺՌ͍ͨͨ͠໨తʯʹج͍ͮͨؔ܎ੑΛங͚Δ • ஌Βͳ͍ํ͕ྑ͔ͬͨ͜ͱɺͨ͘͞Μ͋Γ·͢ΑͶɻઃܭ΋ಉ͡
  13. ࣮૷ͷӅṭ • ֤ΦϒδΣΫτͷಠཱੑΛकΓ·͠ΐ͏ʂʂతͳ • ʮ˓˓Λڭ͑ͯԼ͍͞ɺͨͩͦ͠ͷաఔ͸͋ͳͨʹҕͶ· ͢ʯ • ࣮૷͕Ӆṭ͞Ε͍ͯͳ͍ͱʁ => ΑΓʮखଓ͖ܕʯͬΆ͘ͳͬͨΓ΋ͦ͠͏

    • ͋Δ΂͖ؔ܎: ʮXͱݴͬͨΒYʹ͍ͭͯڭ͑ͯʯ • ා͍ؔ܎: ʮ(Yʹ͍ͭͯ஌Γ͍͔ͨΒ)d->a->gg->daͯ͠ʯ
  14. ΫϥεͷӅṭ • લఏͱͯ͠ʮ໨తʹద͏ͳΒɺԿͷΦϒδΣΫτͰ΋͑͑ ͰʯతͳελϯεͰ͍Δͱྑ͍ઃܭʹͳΓ΍͍͢ • ͦ͜Ͱ • ʮ໨తʯΛந৅/Ծ૝/ΠϯλʔϑΣΠεͰఆٛͯ͠ɺ • ࣮૷/۩ମ(۩৅)ʹ͍ͭͯ͸ʮ஌Βͳ͍͠ɺ͓೚ͤʂʯͰ

    ࡁΉΑ͏ʹक͍ͬͯ͘
  15. ઃܭͷӅṭ • (Facadeύλʔϯͱ͔ʹݟΒΕΔΑ͏ͳɺʮ۩ମతͳத਎ ʹ͍ͭͯ͸Ӆͭͭ͠ɺར༻ऀ͕ఏڙͰ͖Δ৘ใ(Ҿ਺ɺ input)Λड͚औͬͯࣗ਎ͷ஌ࣝ(ͱҕৡ)ʹΑͬͯɺ໨తʹ͔ ͳ͏݁Ռ(output)Λฦ͢ʯΈ͍ͨͳ࿩Λࢦ͍ͯ͠Δ͔ͳʁ ͱࢥͬͨ) • օ͞Μ͸Ͳ͏ࢥ͍·ͨ͠ʁ

  16. ࣮ମԽͷӅṭ • ΦϒδΣΫτͷੜ੒ɺίϯετϥΫτʹ͍ͭͯʮ௚઀తʹ஌Βͳͯ͘΋ ͍͍ײ͡ʹ͢Δʯͱ͍ͬͨ࿩ • Factoryύλʔϯ౳ • ͳͥʁ • ʮੜ੒͢Δʯͱ͍͏γʔϯʹ͓͍ͯ͸ɺ(ࣗ෼͸ڵຯͳ͍ͷʹ૬खͷ

    ౎߹ʹै͏ͨΊʹʂʂ)ͱͯ΋ଟ͘ͷ৘ใΛඞཁͱ͢Δɺͱ͍͏͜ͱ ͕ଟ͍ • ͜Ε͕ෆཁͳ݁߹Λ΋ͨΒ͢
  17. ৼΔ෣͍΍σʔλʹଘࡏ͢Δྲྀಈతཁૉ ͸ɺڞ௨ੑ/Մมੑ෼ੳʹΑͬͯந৅Խ ͢Δ

  18. ڞ௨ੑɺՄมੑ • ڞ௨ੑ: ෳ਺ͷଘࡏʹஔ͍ͯීวతʹଘࡏ͢Δ(ৼΔ෣͍) • Մมੑ(ྲྀಈੑɺมಈੑ): ଞʹ͸ͳ͍ɺࠩҟ͕͋Δɺಠࣗੑͱͯ͠ଘࡏ͢Δ(ৼΔ෣͍) • ڞ௨ੑΛݟൈ͍ͯ(֓೦Ϩϕϧ)ɺͦΕΛந৅ͱͯ͠ද͍ͯ͠ ͘(࢓༷Ϩϕϧ)ɻʮڞ௨ੑʹऩ·Βͳ͍෦෼ʯΛ۩৅ͱͯ͠

    ࣮૷͢Δ(࣮૷Ϩϕϧ)
  19. ʮڞ௨ੑΛந৅ʹʯͰͳ͔ͬͨΒԿ͕ʁ • ྫ͑͹ʮখ͍͞ϊʔτʯͱʮେ͖͍ϊʔτʯ͸ʮେ͸খΛ݉ͶΔʯͷͰɺந৅ /ܧঝؔ܎ʹ͍͔ͨ͠ʁ • ڞ௨͍ͯ͠Δͷ͸ʮϊʔτੑʯͷ͸ͣ • ʮ׽ࣈ࿅शாʯͱʮࣗ༝ாʯ͸ʁ • ʮݘʯʮೣʯʮΫδϥʯͷؔ܎͸ʁ

    • ੜ෺্ֶͷʮᄡೕྨʯ͕ɺఏڙ͢ΔγεςϜ಺෦ʹ͓͚Δʮ໨తʯͷ؍఺͔ Βʮҙຯͷ͋Δڞ௨ੑʯͳͷ͔ʁ • ʮݘʯʮೣʯʮΠϯίʯͷؔ܎͸ʁ • ʮѪ؝ಈ෺ʯ΍ʮ໐͘(ੜ෺)ʯͱ͍͏ڞ௨ੑ͕େࣄʁ • ʮࣂ͍ํʯʮ໐͖ํʯ͸ՄมੑʹͳΔ
  20. େֶӃੜ ֶੜ ߨٛΛड͚ΔΑ ڭࣨΛҠ ಈ͢ΔΑ Ξϯέʔτ ճऩ͢ΔΑ ߨٛΛड͚ΔΑ େֶӃੜ͸ֶੜͷόϦΤʔγϣϯ͔ʁ (ߨٛΛฉ͘༁Ͱ͸ͳ͍)TA͸Ͳ͏͢Δʁ

    ߨٛΛࢹ࡯ʹདྷ͓ͨҒ͍͞Μ͸Ͳ͏ʁ
  21. ʮಉ͡໨తʹجͮ͘ཁૉʯͱ
 ଊ͑ΒΕͦ͏ʁ େֶӃੜ ֶੜ ߨٛΛड͚ΔΑ ڭࣨΛҠ ಈ͢ΔΑ Ξϯέʔτ ճऩ͢ΔΑ ߨٛΛड͚ΔΑ

    ߨٛΛฉ͚ Δౕ ߨٛͷ ӡӦαϙʔ τౕ डߨ४උͰ ͖Δౕ ڞ௨ੑͷநग़ʹ΋ͱͮ͘ந৅Խ
  22. ΠϯλʔϑΣΠεΛ༻͍࣮ͯ૷͢Δ

  23. InterfaceΛඞͣ࢖͏ʁ • ίίͰࢦ͍ͯ͠Δͷ͸ɺඞͣ͠΋ݴޠػೳ্ͷʮInterfaceʯͱ ͍͏ҙຯͰ͸ͳ͍ɻ͸ͣɻ • ΠϯλʔϑΣΠε = ʮԿΛೖΕͨΒʯʮ(ԿΛͯ͠)ԿΛฦ͔͢ʯ • ݴ͍׵͑Δͱʮ࢖͍ํʯʹΑͬͯʮԿ͕ಘΒΕΔ͔ʯ

    • ͜Ε͸ʮ໨తʯ΍ʮػೳʯʹԊͬͨந৅Խ • ͭ·Γɺʮ࣮ଶ(۩৅)͔Βۃྗ཭Εͯɺ໨త(ϩʔϧ)ಉ࢜ͷܨ͕ Γʹด͡ͳ͕ΒઃܭΛ͠·͠ΐ͏ʯ͘Β͍ͷ࿩ • ɾɾͱݸਓతʹ͸ࢥͬͨͷͰ͕͢ɺօ͞Μ͸Ͳ͏Ͱ͔͢ʁ
  24. ܧঝ͸ɺطଘΦϒδΣΫτΛಛघԽ͢Δ ͨΊͷ΋ͷͰ͸ͳ͘ɺྲྀಈతཁૉΛ֓೦ Խ͢ΔͨΊͷखஈͱͯ͠ଊ͑Δ

  25. େֶӃੜ Ξϯέʔτ ճऩ͢ΔΑ ߨٛΛड͚ΔΑ طଘΦϒδΣΫτΛಛघԽ͢Δྫ 5" ʮΦϒδΣΫτͷ໨త(੹຿)ͱؔ܎ͳ͍ϝιουʯΛ͍࣋ͬͯΔ ߨٛΛड͚Δ ༁Ͱ͸ͳ͍
 ͔ΒΦʔόʔϥΠυΑ

  26. େֶӃੜ Ξϯέʔτ ճऩ͢ΔΑ ߨٛΛड͚ΔΑ ߨٛΛฉ͚ Δౕ ߨٛͷ ӡӦαϙʔ τౕ डߨ४උͰ

    ͖Δౕ ந৅ʹΑͬͯྲྀಈతཁૉΛ֓೦Խ͢Δྫ 5" Ξϯέʔτ ճऩ͢ΔΑ
  27. ֶੜ ֶशͷͨΊʹ ߨٛΛड͚ΔΑ ߨٛΛฉ͚ Δౕ ந৅ʹΑͬͯྲྀಈతཁૉΛ֓೦Խ͢Δྫ ࢹ ࡯Ϛϯ ධՁΛ͠ͳ͕Β ߨٛʹࢀՃ͢ΔΑ

    ؅ཧ͢Δσʔλ • ߨࢣͷύϑΥʔ Ϛϯε • डߨऀͷ൓Ԡ ؅ཧ͢Δσʔλ • ڭत಺༰ • ࢼݧɺ॓୊ͷ৘ใ
  28. ͋ͱ7߲໨ڍ͕͍ͬͯΔΑ • Ϋϥεதʹଘࡏ͢Δྲྀಈతཁૉ͔Βɺҟ࣭ͳྲྀಈతཁૉΛ੾Γग़͢ • ݁߹౓Λ௿͘͢ΔΑ͏຿ΊΔ • ڽू౓Λߴ͘͢ΔΑ͏຿ΊΔ • ΦϒδΣΫτΛ࢖༻͢ΔίʔυͱɺͦͷΦϒδΣΫτΛੜ੒͢Δ ίʔυΛ෼཭͢Δ

    • OAOOϧʔϧΛݫक͢Δ • ҙਤʹΑΔϓϩάϥϛϯάͱҙਤΛ໌֬ʹද͢ωʔϛϯάϧʔϧΛ ༻͍ͯɺίʔυͷՄಡੑ޲্ʹ౒ΊΔ • ίʔσΟϯάΛ։࢝͢ΔલʹɺίʔυͷςετՄೳੑΛߟྀ͢Δ
  29. σβΠϯύλʔϯʹΑΔ
 ࣮૷ͷΧϓηϧԽํ๏

  30. ར༻ऀ-࣮ߦऀͷؔ܎ • ”ࠓ·Ͱ঺հ͖ͯͨ͠σβΠϯύλʔϯͷ͍͔ͭ͘͸ɺΫϥ ΠΞϯτΦϒδΣΫτ͔Β࣮૷ͷৄࡉΛӅṭ͢Δͱ͍͏ಛ ௃Λ͍࣋ͬͯ·ͨ͠” νϟʔϋϯ ͍ͩ͘͞ʂ νϟʔϋϯ ͋͛ΔΑʂ ྫྷౚ͔΋

    ങ͍ग़͠ ख࡞Γ ࣮૷ͷৄࡉ͸ʮ࣮ߦऀʯ͕ܾΊΔɻ ར༻ऀͷࢹքʹೖΕͤ͞ͳ͍ɺ੾Γ཭͢
  31. • ࣮૷ͷӅṭʹΑ֦ͬͯுΛ༰қʹ͢Δ • ྫ: Bridgeύλʔϯ • ࣮૷ͱந৅(ΠϯλʔϑΣΠε)Λ੾Γ཭ͯ͠ɺར༻ऀ͸ந ৅ʹ͚ͩ࿩͔͚͠ΔΑ͏ʹ͢Δ • ࣮૷ͷछྨ͕૿͑ͯ΋ɺΫϥΠΞϯτ͸ӨڹΛड͚ͣʹ

    ֦ுͰ͖ΔΑ͏ʹͳΔ ࣮૷ͷӅṭʹΑΔ֦ுੑͷ୲อ
  32. ڞ௨ੑ/Մมੑ෼ੳͱ
 σβΠϯύλʔϯ
 (25.4ʙ25.6)

  33. ڞ௨ੑ/Մมੑ෼ੳͱ໰୊ྖҬ • “͔͠͠࠷΋ॏཁͳ͜ͱ͸ɺڞ௨ੑ/Մมੑ෼ੳΛ༻͍ͨڞ௨ੑ ͷચ͍ग़͠ʹΑͬͯɺ໰୊ྖҬʹଘࡏ͍ͯ͠ΔύλʔϯΛચ͍ ग़͢ࡍͷख͕͔Γ͕ಘΒΕΔͱ͍͏͜ͱͳͷͰ͢ɻ” • ʮ࣮૷Ϩϕϧͷܗ͕ݟ͑Δʯ͜ͱΑΓ΋ɺ ʮ໰୊ྖҬͷܗΛϒϥογϡΞοϓͰ͖Δʯͷ͕ଚ͍ʂ • (֓೦Ϩϕϧͷ)ந৅ΛͲ͏͢Δʁ͕ܾ·Ε͹ɺInterface/

    implements΍Abstract/extendsͲ͏͢Δʁ͸ࣗͣͱಋ͔ΕΔ ΑͶʙʂͱ͍͏ҼՌؔ܎ʹͦ͜໨Λ޲͚Δ
  34. ڞ௨ੑ/Մมੑ෼ੳͱύλʔϯ • σβΠϯύλʔϯ͸ɺʮΑ͋͘Γ͕ͪͳ໰୊Xʯʹରͯ͠ʮ͍͍ײ͡ ʹϋϚΓ΍͍͢ܗࣜʯͱ͍͏දݱํ๏ΛఆࣜԽͨ͠΋ͷɾɾͱݴ͑ Δ • Α͋͘Γ͕ͪͳ໰୊ = ڞ௨ੑ •

    ʮ࣮૷ͷܗʯΑΓ΋ʮͲ͏͍͏෩ʹ໨ͷલͷ໰୊Λೝࣝ͢Δ͔ʯͷ खॿ͚ʹͳΔʂ • strategyͬΆ͍໰୊ɺfacadeͬΆ͍໰୊ɺfactoryͬΆ͍໰୊etc… • ʮ˓˓ͬͯ໰୊͕͋ΔͷΛ஌͍ͬͯΔʯ͜ͱͷՁ஋
  35. ύλʔϯ಺ͷؔ࿈

  36. ύλʔϯ͸΋͸΍ॏཁͳ΋ͷͰ͸ͳ͘ͳΔ • ΞϨάβϯμʔ͸ʮੜ͖ੜ͖ͱͨ͠ݐઃʯΛ໨ࢦͨ͠ਓ • ͨͱ͑͹ʮݟͨ໨ͷඒ͠͞΍ίϯηϓτ͚ͩΛॏࢹͨ͠ɺډ ৺஍͕ѱ͍ਤॻؗʯͱ͔͕ݏʙͬͯਓɻʮຊΛಡΉਓͷࣗવ ͱཉ͢Δ΋ͷ͕݉ͶඋΘ͍ͬͯΔݐઃʯ͕͍͍ΑͶʂͬͯ • ύλʔϯϥϯήʔδ͸ɺͦ͏ͨ͠ʮΑ͘ٻΊΒΕΔ΋ͷʯ΍ʮͦ ͷޮՌɺํ๏ʯΛ·ͱΊͨ΋ͷ

    • ͳͷͰɺʮ΋͠ύλʔϯࣗମΛ஌Βͳͯ͘΋ɺཉ͍͠෺ͱ࣮ݱ ํ๏͕ࣗવͱ༙͖ग़ͯ͘Δʯ͜ͱʹൺ΂ͯʮύλʔϯΛ஌ͬͯ ͍Δʯ͜ͱͷॏཁੑ͸௿Լ͢Δ
  37. ίϯςΩετ͕ઌɺύλʔϯ͕ޙ(Έ͍ͨͳ) • ”ݱ࣮Λͦͷ··ड͚ೖΕΔ͜ͱΛֶΜͰ͠·͑͹ɺ΋͸ ΍ύλʔϯͦͷ΋ͷ͸ॏཁͰ͸ͳ͍” • ”࢝Ί͸஌తͳڌΓॴͰ͋ͬͨΞϧίʔϓͱ͍͏ύλʔϯ ͕ɺ΋͸΍ඞཁͰͳ͘ͳΔɻ(தུ)ᴷ୯ʹͦΕ͕;͞Θ͠ ͍ͱ͍͏ཧ༝ͰᴷΞϧίʔϒΛ࡞Δ͜ͱʹͳΔ” • ஌ࣝͱͯ͠ύλʔϯΛ਎ʹ͚ͭΔ͜ͱͰίϯςΩετΛࣝ

    ผ͠΍͘͢͸ͳΔ͔΋஌Εͳ͍͕ɺύλʔϯ͕ಛఆͷί ϯςΩετΛ༠ൃ͢Δ΋ͷͰ͸ͳ͍
  38. ·ͱΊతͳ΋ͷ • ΦϒδΣΫτࢦ޲ݪଇ • (޿͍ҙຯͰͷ)ΧϓηϧԽΛେࣄʹͯ͠ʂ • ߴڽूͱૄ݁߹Λ໨ࢦͯ͠ʂ • ڞ௨ੑΛநग़ͯ͠ந৅Λ࡞ͬͯɺந৅ΛཔΓʹͨ͠ઃܭΛͯ͠ʂ •

    σβΠϯύλʔϯ • ΦϒδΣΫτࢦ޲ݪଇΛ׆͔͠·ͬͨ͘ྑ͍ײ͡ͷϨγϐूͰ΋͋ΔΑʂ • ύλʔϯΛ஌ͬͯɺਂΊΔ͜ͱͰ໰୊ྖҬ΁ͷΞϓϩʔν΋ڧ͘ͳΕΔʂ • ύλʔϯͦͷ΋ͷΛ஌Δ͜ͱͰ͸ͳ͍Αɺʮ໰୊ΛݟۃΊΒΕΔΑ͏ʹͳ ΔʯʮͦͷରԠ๏ͱɺͦΕʹΑΔӨڹʯΛ௫ΊΔΑ͏ʹͳΔͷ͕େࣄʂ • ྑ͍ઃܭʹΑͬͯɺมߋʹڧ͍γεςϜΛߏங͍ͯ͘͠ʂ