タグ

ブックマーク / objectthinking.seesaa.net (2)

  • 依存関係逆転の原則

    チェストの依存関係 私たちの身の回りにあるものは、たいてい細かいオブジェクトが大きなオブジェクトに依存しています。 たとえばチェスト。 チェストには枠と引き出しがありますね。 引き出しは、チェストの大きさによって3つくらいだったり、7つくらいだったりします。 これ、枠と引き出しの依存関係はどうなってるんでしょう? 枠が引き出しに依存してるんでしょうか? 引き出しが枠に依存してるんでしょうか? 先に枠があって、それにあわせて引き出しが作られたんでしょうかね? とすると、引き出しが枠に依存しているといえそうですね。 んー、先に引き出しがあって、それに合わせて枠を作るってのは、なんか不自然なカンジですね。 とすると、やっぱり引き出しが枠に依存してるのかな。 と、ちょっと待ってください。 この問題、そもそものスタートから間違ってます。 誰も、なんにもなしでいきなりチェストの枠を作り出したり、引き出

    依存関係逆転の原則
    kiyo_hiko
    kiyo_hiko 2010/12/07
    関連する2つのオブジェクトの間には抽象があって、抽象によって関わり合っているので、依存関係はその抽象を引っ張り出して、それにおまかせしよう、というOOPデザインの話らしい。
  • 開放・閉鎖原則

    今回は、開放・閉鎖原則のお話です。 これも、リスコフの置換原則と同じかそれ以上に、ソフトウェア開発者の方には有名な原則ですね。 これも、開発の現場では、みんな知ってるにもかかわらずないがしろにされがちな原則です。 英語でopen・closed principleですので、OCPと略されたりもします。 ソフトウェア開発者でない方には、この原則の概念を理解していただきたいと思います。 この原則によって、あなたの生活からストレスが軽減される…かもしれません。 ソフトウェア開発者の方には、この原則の重要性を再認識していただきたいと思います。 コンテンツ計画は、細かければ細かいほど失敗しやすい例: 旅行計画オープンでクローズドオススメ計画は、細かければ細かいほど失敗しやすい 何か重要なやるべきことがあるとします。 すごく楽しみにしてた観光だとか、失敗できない仕事だとかそういうことです。 そんなとき、

    開放・閉鎖原則
    kiyo_hiko
    kiyo_hiko 2010/11/24
    これは座右の銘レベル「計画は、細かければ細かいほど失敗しやすい」
  • 1