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

オブジェクト指向設計実践ガイド 第1章/practical-object-oriented-design-in-ruby-1

オブジェクト指向設計実践ガイド 第1章/practical-object-oriented-design-in-ruby-1

社内勉強会(輪読会)で利用した読書メモです

hideki kinjyo

January 22, 2021
Tweet

More Decks by hideki kinjyo

Other Decks in Programming

Transcript

  1. खଓ͖ܕʁΦϒδΣΫτࢦ޲ʁ w ʮखଓ͖ͷू·Γʯ ͲͷΑ͏ͳૢ࡞Λ͢Δ͔ʁΛҙࣝ͢Δ w ʮΦϒδΣΫτؒͰड͚౉͞ΕΔϝοηʔδͷ࿈ଓʯ ԿΛ͍͔ͨ͠ʁΛҙࣝ͢Δ w ʮͲ͏΍Δ͔ʁʯΑΓʮԿΛ͍͔ͨ͠ʁʯΛҙࣝ͢ΔΑ͏ʹ͢Δͱ͍͏఺Ͱ zൃ૝ͷస׵͕ٻΊΒΕ·͢zɻ

    w ۩ମతʹʮΞϨΛίϨ͓͍ͯͯ͘͠Εʙʙʯ͸ʮཔΉଆʯͰͳ͘ʮཔ·ΕΔଆʯͷ੹೚ʹͳΔɻzৄ ࡉz͸z͓೚ͤzͩͥʂʂʂʂ w ͦͷͨΊʹʮΦϒδΣΫτʯͱ͍͏ొ৔ਓ෺͕ݱΕΔɻ ʮΦϒδΣΫτʯ͸ʮΑ͠ͳʹ΍ͬͯ͘ΕΔϚϯʯ
  2. ΦϒδΣΫτࢦ޲ w ʮσʔλʯͱʮৼΔ෣͍ʯΛಉ࣌ʹ࣋ͨͤ Δ ΦϒδΣΫτ  w ʮৼΔ෣͍ʯͱʮ࣋ͭ΂͖σʔλ छྨ΍ ੑ࣭

    ʯΛఆٛͯ͠ Ϋϥε ɺ ͔ͦ͜Βʮҧ͏ਓ෺ʯΛੜΈग़ͤΔ Π ϯελϯε ʮΫϥεʯ͕ΦϒδΣΫτࢦ޲ͷඞਢཁ݅ͱ͠ͳ͍޲͖΋͋Δ w (P͸ΦϒδΣΫτࢦ޲ݴޠͩΖ͏͔ʁc1045%IUUQTQPTUEDDJTHPPCKFDUPSJFOUFE
  3. ઃܭͷ໨త w ະདྷ ෼͔ΔΘ͚ͳ͍ʂʂʂ Λʮड͚ೖΕΔͨΊͷ༨஍Λ࢒͢ʯͷ͕ ʮΑ͘Ͱ͖ͨઃܭʯ͕΋ͨΒ͢Ձ஋ w l࣮༻తͳઃܭͱ͸ɺະདྷΛਪଌ͢Δ΋ͷͰ͸ͳ͘ɺະདྷΛड͚ೖΕΔͨΊ ͷબ୒ࢶΛอޢ͢Δ΋ͷͳͷͰ͢ɻબ୒ͯ͠͠·͏ͷͰ͸ͳ͘ɺಈͨ͘Ίͷ ༨஍Λઃܭऀʹ࢒͢΋ͷͰ͢ɻઃܭͷ໨త͸ʮ͋ͱʹͰ΋ʯઃܭΛͰ͖Δ

    Α͏ʹ͢Δ͜ͱͰ͋ΓɺͦͷୈҰͷ໨ඪ͸มߋίετͷ࡟ݮͰ͢ɻz 4BOEJ.FU[ΦϒδΣΫτࢦ޲ઃܭ࣮ફΨΠυɹʙ3VCZͰΘ͔ΔਐԽ͚ͭͮ͠ΔॊೈͳΞϓϦέʔγϣϯͷҭ ͯํ +BQBOFTF&EJUJPO  ,JOEMFͷҐஔ/P ,JOEMF൛ w ෭୊ͷ෬ઢճऩʂʂʹʼਐԽ͠ଓ͚ΔॊೈͳΞϓϦέʔγϣϯ
  4. ͋Δ΂͖ઃܭ ઃܭ͸ɺʮࠓͱະདྷʹ͓͚Δ ίεύͷ ࠷దͳ΋ͷΛ൑அ͢Δʯͱ͍͏ߦҝ w lઃܭͰٻΊΒΕΔͷ͸ɺҰछͷ߹੒Ͱ͢ɻΞϓϦέʔγϣϯʹٻΊΒΕΔػೳશମͷ஌ ࣝͱɺͦΕͧΕͷઃܭҊʹ͔͔Δίετͱར఺ʹ͍ͭͯͷ஌ࣝΛ૊Έ߹Θͤɺίʔυͷ ߏ੒Λ޻෉͠ͳ͚Ε͹ͳΓ·ͤΜɻݱ࣌఺ɺͦͯ͠ະདྷʹ͓͍ͯ΋ɺҰ؏ͯ͠අ༻ରޮ Ռͷ༏Εͨߏ੒Λߟ͑Δඞཁ͕͋Γ·͢ɻz 4BOEJ.FU[ΦϒδΣΫτࢦ޲ઃܭ࣮ફΨΠυɹʙ3VCZͰΘ͔ΔਐԽ͚ͭͮ͠ΔॊೈͳΞϓϦέʔγϣϯͷҭͯํ

    +BQBOFTF &EJUJPO  ,JOEMFͷҐஔ/P ,JOEMF൛ w lઃܭʹ͓͍ͯɺະདྷΛߟྀ͢Δͱ͍͏ߟ͑͸ɺ·ͩ஌ΒΕ͍ͯͳ͍ཁ݅Λ૝ఆͯ͠ɺ͍ ·ͷ͏ͪʹͦͷ͏ͪͭΛ࣮૷͓ͯ͘͠ͱ͍͏͜ͱͰ͸ͳ͍ͷͰ͢ɻz 4BOEJ.FU[ΦϒδΣΫτࢦ޲ઃܭ࣮ફΨΠυɹʙ3VCZͰΘ͔ΔਐԽ͚ͭͮ͠ΔॊೈͳΞϓϦέʔγϣϯͷҭͯํ +BQBOFTF &EJUJPO  ,JOEMFͷҐஔ/P ,JOEMF൛
  5. ઃܭʹؔ͢ΔΞϨίϨͳಓ۩ ฉ͍ͨ͜ͱ͕͋Δ͔ͳʁͬͯ΍ͭΒ͕ͨ͘͞Μग़ͯ͘ΔͰ͢ΑͶ ˞ʮ໊લʯʮݺͼํʯΛ஌͍ͬͯΔͱHHS΍͘͢ͳΔͷͰخ͍͠ w 40-*%ݪଇ w σβΠϯ ύλʔϯ ʮݪཧݪଇʯʹؔ͢ΔࢀߟʹͳΓͦ͏ͳຊ w

    ϓϩάϥϚ͕஌Δ΂͖ͷ͜ͱc࿨ా୎ਓ ,FWMJO)FOOFZ Ն໨େIUUQTXXXBNB[PODPKQEQ w ϓϦϯγϓϧΦϒϓϩάϥϛϯά೥໨·Ͱʹ਎ʹ͚͍ͭͨҰੜ໾ཱͭͷݪཧݪଇc্ా܄IUUQTXXXBNB[PODPKQEQ