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

オブジェクト指向のこころ: イントロ / DESIGN PATTERNS EXPLAINED: introduction

オブジェクト指向のこころ: イントロ / DESIGN PATTERNS EXPLAINED: introduction

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

C90bac78c0fb61105cfd8239767f903d?s=128

hideki kinjyo
PRO

August 24, 2021
Tweet

Transcript

  1. Introduction 課題図書: オブジェクト指向のこころ: デザインパターンとともに学ぶ

  2. 訳者まえがき

  3. ΦϒδΣΫτࢦ޲ͱ͍͏ύϥμΠϜ • ݱࡏͰ͸͔ܽͤͳ͍΋ͷʹͳͬͨ • ͦͷఆٛ΍ϝϦοτͷઆ໌͸ɺ࣌୅ʹΑͬͯมભ͍ͯ͠Δ • ౰ॳ͸ʮݱ࣮ੈքΛͦͷ··ΦϒδΣΫτͰදݱͰ͖ Δʯͱ͔͞ΜʹᨳΘΕ͍ͯͨ • ্ྲྀ޻ఔͱԼྲྀ޻ఔΛγʔϜϨεʹܨ͛Δ(ئ๬)

    関連・参考 • オブジェクト指向の概念の発明者は誰ですか?(改訂版) - Smalltalkのtは⼩⽂字です https://sumim.hatenablog.com/entry/20040525/p1
  4. ʮݱ࣮ʯͱΦϒδΣΫτͷؔ܎ • ࣮ࡍͷγεςϜ։ൃʹ͸ʮந৅Խʯ͕൐͏ • 10͋Δଆ໘͔Β1Λબ୒͢Δ͜ͱ(ࣺ৅) • ཁٻ͸มԽ͠ଓ͚Δ΋ͷɺͱ͍͏ݱ࣮ • ʮγεςϜ͸׬੒͠ͳ͍ʯ 関連・参考

    • ソフトウェア保守の法則(リーマンの法則)、ご存知ですか?:森崎修司の「どうやってはかるの?」 https://blogs.itmedia.co.jp/morisaki/2012/04/post-7e5d.html
  5. มߋͱΦϒδΣΫτࢦ޲ • ΋͠ʮݱ࣮ͦͷ΋ͷʯͩͱͨ͠Βมߋʹऑ͘ͳΔ • ࢲʮͦΜͳ͜ͱͨ͠ΒɺόλϑϥΠΤϑΣΫτى͖ͪΌ ͏Αʙʯ • ೡΖʮந৅Խʯʹ͓͍ͯՁ஋͕ൃݟ͞Ε͍ͯͬͨ • ΦϒδΣΫτࢦ޲͸ʮӨڹΛด͡ࠐΊΔʯ

    • ίʔυͷʮ࠶ར༻ʯΛଅਐͤ͞Δ
  6. ΦϒδΣΫτࢦ޲ͱGoFͷσβΠϯύλʔϯ • ࠶ར༻ੑΛڧௐͨ͠ͷ͕ʮGoFͷσβΠϯύλʔϯʯ • ύλʔϯϥϯήʔδͷΦϒδΣΫτࢦ޲ϓϩάϥϛϯά΁ͷద༻ • ॻ੶໊ʹʮΦϒδΣΫτࢦ޲ʹ͓͚Δ࠶ར༻ͷͨΊͷʯͬͯೖͬͯΔͷʹண໨ • ͢ͳΘͪɺʮͦ΋ͦ΋σβύλ͕࠶ར༻ͷͨΊͷ΋ͷʯͰ͋Δ •

    ΋ͬͱ͍͑͹ʮύλʔϯϥϯήʔδ͕(ryʯ • σβύλ͕ʮΦϒδΣΫτࢦ޲ͷϕλʔϓϥΫςΟεʯͳΒɺ ʮ࠶ར༻ɺ͍͜͞ʙʂਅ਷ͬͯײ͡Ͱ͢ʂʯͬͯͳΔಓཧΛײͯ͜͡ὑ
  7. ຊॻͰղઆ͞Ε͍ͯΔ؍఺ʹཱͭ͜ͱͰɺʮ࣌ؒ࣠Λݟ౉ͨ͠ઃ ܭʯͱ΋ݴ͑Δߟ͑ํΛ਎ʹ͚ͭΔ͜ͱ͕Ͱ͖ɺ͋ͳͨͷ࡞੒͢ ΔγεςϜ͸ͻͱຯ΋;ͨຯ΋ҧͬͨ΋ͷͱͳΔ͸ͣͰ͢ɻ l

  8. ࣌ؒ࣠Λݟ౉ͨ͠ઃܭ • アレグザンダーが意識の根底にありそうな表現😏 • 我々にも「全体性」「いきいきとした建築」が必要 • 「時を超える」=> 「変動に強い」 ʮมಈΛΧϓηϧԽͤΑʯ ʮιϑτ΢ΣΞ͸΋ͬͱม͑΍͍͍ͯ͘͢͸ͣͩʯ

    ʮϓϩδΣΫτ͕෗ഊ͠ͳ͍Α͏ͳ ϓϥΫςΟεΛಋೖ͠ͳ͚Ε͹ͳΒͳ͍ʯ
  9. まえがき

  10. σβΠϯύλʔϯɺΦϒδΣΫτࢦ޲ • デザインパターンとOOPは、設計者や開発者の⽣活を楽にする重要な鍵 • “オブジェクトの持つ本当の⼒は、継承ではなく「カプセル化された振 る舞い」にあると感じ取っているかも知れません” • 「概念の根底にある『やること』と『その理由』によって、⼀気に理解 が進む」という信念に基づいて本書はつくられている •

    デザインパターンの考察を通じて「オブジェクト指向の本当の姿」を 理解できるようになる
  11. σβΠϯύλʔϯ͔ΒಘΒΕΔ΋ͷ • パターンと向き合うことでオブジェクト指向の理解が深まる • オブジェクト指向設計の優れた実例が⽰される • 基本的なオブジェクト指向原則が浮き彫りにされる • 著者⾃⾝が「デザインパターンを学習することによって、 オブジェクト指向設計能⼒が広く・深くなった」のを経験している

    • オブジェクト指向設計初⼼者にとっても悪くない事
  12. ύλʔϯͱͷ෇͖߹͍ํ • 頻出する「問題」と「原則」「戦略」を知ることが重要 • 決して「型」を丸暗記したり、乱⽤するものではない • ⾊々な場⾯で様々なデザインパターンが「⾒えてくる」ようになる • ⽬の前の状況に対して、パターンの原則や戦略を⽤いた解決策が 浮かんでくるようになること

    • 「知っている」と「理解した」の違い
  13. ຊॻͰಘΒΕΔ΋ͷ • パターンを学ぶことができる • なぜうまく機能するのか?を理解できる • パターン同⼠を協調させる⽅法が分かる • 原則と戦略が分かる

  14. ຊॻͷҐஔ͚ͮͱ໨ඪ • 位置づけ: 導⼊書 • デザインパターンを正しく、迅速に理解できるようになる • デザインパターンの根拠にある原則や戦略を理解できるようになる • ⽬標:

    デザインパターンを経験してもらう • その世界の広さを知ってもらう • 読者の将来にあろう「パターンの旅」を計画できるようにする