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

オブジェクト指向と設計の話

tdak
July 06, 2013

 オブジェクト指向と設計の話

2013/07/06 ゆるかわPHPの会#2 の発表資料です。
オブジェクト指向とアジャイル設計などについて。
内容は書籍「アジャイルソフトウェア開発の奥義」と「オブジェクト指向のこころ」に書かれている話が中心となっています。

tdak

July 06, 2013
Tweet

More Decks by tdak

Other Decks in Technology

Transcript

  1. 自己紹介 @tdakak PHP, Ruby, FreeBSD とか好きです。 無職生活4ヶ月目突入。 これ終わったら BEAR.Sunday で遊ぶ仕事に

    戻りつつ、就職活動始めます。 (宣言して自分を追いつめるメソッド)
  2. 今日話したいこと ちょっと脱線して自分の経歴。 学生時代は COBOL, C をメインに Java を少し。 趣味で VB,

    VC++6.0 や Perl。 社会人になってからは PHP 4.x や 5.1.x, Java など。 前職で Ruby + アジャイルな開発を経験。 現在に至る。
  3. リスコフの置換原則 ・ 赤いもの   ・ T型のオブジェクトo2 ・ ねこ   ・

    S型のオブジェクトo1   ・ o2を持つ ・ とり   ・ プログラムP   ・ T型のオブジェクトを使う
  4. リスコフの置換原則 プログラム P に o2(T型のオブジェクト) または o1(o2 を保持するS型のオブジェクト) のどちらを渡しても P

    の挙動が変わらない、 この状態は「 LSP に従っている」と言える。 LSP に違反すると OCP にも違反してしまう。
  5. 依存性逆転の原則 依存性逆転の原則 DIP : Dependency Inversion Principle ・ 上位のモジュールは下位のモジュールに依存しては  

    ならない。どちらも「抽象」に依存すべきである。 ・ 「抽象」は実装の詳細に依存してはならない。   実装の詳細が「抽象」に依存すべきである。