タグ

ブックマーク / masuda220.jugem.jp (3)

  • 設計の基本パターン:Whole-Part(全体-部分) | システム設計日記

    良いソフトウェアの設計は、小さくて、気の利いた「部品」を、うまく「組み合わせる」こと。 役割が単純で明確なオブジェクト(部品)が、集まって、協力して、なにか人の役に立つことをしてくれる。 そういうソフトウェアを設計するためのテクニック、基パターンの一つが、 Whole-Part(全体-部分)パターン。 Part = 役割が単純で明確なオブジェクト Whole = Part を集約して、何か役にたつことをする Part には、どんな役割を持たせ、Whole には、どんな役割を持たせるのが良いかをパターン化しものが、 Whole-Part パターン。 前から知ってたパターンだが、今回、新卒採用の求人票のモデリングをやるために、参考書を読み返しながら、このパターンの考え方をもう一度、整理してみる。 「求人票」が Whole (全体)。 Part ( 部分の方は) , 企業概要、募集職種、基

    restartr
    restartr 2011/11/21
    主たる参考情報は、 POSA:Pattern-Oriented Software Architecture ストリームラインオブジェクトモデリング ビジネスパターンによるモデル駆動設計 DDD:Domain-Driven Design 「ドメイン駆動設計」 ケント・ベックの「実装パターン」
  • 設計の原則:モジュール化 | システム設計日記

    ソフトウェア設計には、パターン理解が大切。 でも、その前に、設計の基原則(設計の基テクニック)を、押さえておきたい。 いろいろな設計パターンに共通する、その根っこにある設計原則を会得すれば、パターンの理解や実践が、もっと楽に楽しくなる。 設計原則の会得は、ソフトウェア設計の免許皆伝、達人への道であり、ここぞという時の、銀の弾丸になる。 モジュール化 たぶん、これが、いちばん基の設計原則。 デザインパターンも、アナリシスパターンも、アーキテクチャパターンも、モジュール化原則の適用例になっていると思う。 モジュール化の原則違反の典型例は、一枚岩(モノシリック)で巨大なソフトウェア。 別名、密結合、スパゲティコード。 こういうソフトウェアは、理解しがたく、変更が恐ろしく難しい。 バグがあちこちに隠れていて、副作用が怖く、とてもじゃないが、コードを変更する勇気(度胸?)はない。 「一枚岩」は

    restartr
    restartr 2011/10/18
    "単純な設計原則、特に「モジュール化」を理解し、習得し、設計の基本スタイルにすることで、設計の腕は各段に向上するはず。"
  • アーキテクトを考える | システム設計日記

    Bruce A. Tate 著、まつもとゆきひろさん監訳、田和勝さん訳の 「7つの言語 7つの世界」 を楽しみながら読んでいる。 最初のページの「読者の声」の、 「複数のパラダイムを理解すると、設計能力が大幅に強化される」by Dr. Venkat Subramaniam に、はっとさせられた。 読み進めるうちに、この言葉の意味が、実感できてきた。 「異なるパラダイムを、実感してみる」と「設計の発想やセンスが変化する」手ごたえがあった。 9章「まとめ」に、プログラミングパラダイムを4つに分類した要約がある。 ●オブジェクト指向 --> Ruby, Scala ●プロトタイプ型 --> Io ●制約論理型 --> Prolog ●関数型 --> Scala, Erlang, Clojure, Haskell ※「手続き型」がないのは、このでは C, FORTRAN, COBOL, BASI

  • 1