タグ

OOPとsolidに関するyassのブックマーク (11)

  • 単一責任の原則(SRP) - Strategic Choice

    単一責任の原則(SRP:the Single Responsibility Principle) クラスを変更する理由は1つ以上存在してはならない。どういうこと?変更理由が2つあるということは、責任(役割)も2つあるということ。そんなジェネラリストなクラスを許さない、という原則。 ところで、「単一責任」って、クラスを作る上で一見当たり前に見える。責任(役割)をそのまま責任ではなく、変更理由としているところがポイント。 この見る角度を変えるところがこの原則の運用の大切な所。なんで?役割を複数もつクラスはもろいクラスだから。 複数の役割を担っているクラスがあって、それをある1つの理由で変更すると、関係のないその他の役割部分にまで影響を及ぼす事になり、その結果予想もしない形でクラスが壊れてしまう。 保守で違う人が修正したら簡単に壊れてしまう。 保守で変更していくと、実装的だけでなく、設計的にもよ

  • オブジェクト指向の法則集 - Qiita

    この記事は、故石井勝さんが1999年に書いた記事を Qiita に転載するものです。オブラブ(objectclub.jp)にて記事をホスティングしていましたが、現代でも十分に読める内容なので、たくさんの方に読んでもらいたいと思い、若干の編集(リンクとコンテキスト追加)を平鍋が行い、転載します。今でも、読みやすく、カジュアルな語り口のよい記事です。 オブジェクト指向の法則集(転載元:http://objectclub.jp/community/memorial/homepage3.nifty.com/masarl/article/oo-principles.html ) なお、この記事の他にも石井さんのオブジェクト指向やRubyに関する多くの記事をオブラブの「まさーるのページ」で読むことができます。では、以下に石井勝さん(旧メールアドレス masarl@nifty.com)の記事を転載します

    オブジェクト指向の法則集 - Qiita
    yass
    yass 2014/09/10
  • オブジェクト指向設計の原則と関数型プログラミング

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    オブジェクト指向設計の原則と関数型プログラミング
  • オブジェクト指向設計原則 - Strategic Choice

    原則について優れたオブジェクト指向開発のための指針。ただ、、、原則は原則。必ず守らなければならないのではなく、まずそれで考えることが重要。逸脱したとしても正当な理由やトレードオフが説明できればよい。一覧単一責任の原則(SRP)オープン・クローズドの原則(OCP)リスコフの置換原則(LSP)依存関係逆転の原則(DIP)インターフェイス分離の原則(ISP)参考アジャイルソフトウェア開発の奥義 第2版 オブジェクト指向開発の神髄と匠の技作者: ロバート・C・マーチン, 瀬谷啓介出版社/メーカー: ソフトバンククリエイティブ発売日: 2008/07/01メディア: 大型 Principles Of Object Oriented Designオブジェクト指向設計@Syboos.jpオブジェクト指向設計の原則@それはBooksオブジェクト指向設計原則@ディノオープンラボラトリオブジェクト指向の法則

    yass
    yass 2014/02/23
  • SOLIDオブジェクト指向ルールのオープン・クローズド原則への批判

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    SOLIDオブジェクト指向ルールのオープン・クローズド原則への批判
    yass
    yass 2013/05/15
  • オブジェクト指向設計の原則がよく分かるかも知れない画像 | naglly.com

    下記のサイトで、オブジェクト志向開発における原則、いわゆる「SOLID原則」について、皮肉たっぷりの画像と文章を用いて解り易く解説しています。 SOLID Development Principles - In Motivational Pictures - new ThoughtStream("Derick Bailey"); - 大変良く出来ている画像だと思いましたので、勉強の為にそれぞれの原則をネットで検索しつつ、日語化してみました。 これは、オブジェクト指向設計の原則だけじゃなくて、ソフトウェア開発全般に適用できる原則だと思います。 The Single Responsibility Principle(SRP) The Open Closed Principle(OCP) The Liskov Substitution Principle(LSP) The Interface

    オブジェクト指向設計の原則がよく分かるかも知れない画像 | naglly.com
    yass
    yass 2012/10/06
  • Why SOLID Matters

    One of the biggest struggles that developers have with adopting Unit Testing, whether it’s Test Driven Development (TDD), Behavior Driven Development (BDD) or even just Test Eventual Development (TED), is the difficulty some code is to test.  This is typically when code doesn’t follow the SOLID design principles. If you aren’t familiar with Robert C. Martin’s SOLID Principles, here is a quick summ

    Why SOLID Matters
    yass
    yass 2012/10/05
  • SOLIDify your software design concepts through SOLID

    yass
    yass 2012/02/18
  • リスコフの置換原則の絵を描いた - 西尾泰和のはてなダイアリー

    T 型のオブジェクト x に関して真となる属性を q(x) とする。このとき S が T の派生型であれば、S 型のオブジェクト y について q(y) が真となる。 リスコフの置換原則 - Wikipedia Tの丸の中にあるものすべてq(x)の丸の中にある場合に、SがTの派生型であればSの丸の中にあるものはすべてq(x)の丸の中にある、という絵。 なんかとても自然すぎて、何を当たり前のことを言ってるの?と思う人もいるかも知れない。というわけでリスコフの置換原則が満たされない場合の絵も描いてみた。 Sがニョッキリとq(x)の外に突き出している。SがTのサブタイプだというなら、SはTの中に収まっているのが自然なわけだ。でも「T 型のオブジェクト x に関して真となる属性を q(x)」を満たさないSの要素yがあるってことは、SはTの中に収まっていない。リスコフの置換原則が守られていないっての

    リスコフの置換原則の絵を描いた - 西尾泰和のはてなダイアリー
    yass
    yass 2012/02/14
  • OO Design Principles

    This page is a work in progress… a compilation of information about object-oriented design principles and values. S.O.L.I.D. Class Design Principles Collected by Robert C. Martin for his book “Applying Principles and Patterns” Single Responsibility Principle (SRP) A class should have only one reason to change. For example, if a change to the business rules causes a class to change, then a change t

    OO Design Principles
  • SOLID - Wikipedia

    In software programming, SOLID is a mnemonic acronym for five design principles intended to make object-oriented designs more understandable, flexible, and maintainable. Although the SOLID principles apply to any object-oriented design, they can also form a core philosophy for methodologies such as agile development or adaptive software development.[1] Single-responsibility principle: "There shoul

  • 1