タグ

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

  • Bounded Context パターン : ドメインの分離独立を徹底する | システム設計日記

    ドメインの独立 「ドメイン」を他の関心事から分離するのは、ドメイン駆動設計の基コンセプトだし、必須の実践課題。 4章 Isolationg Domain では、ドメインモデルを、別のレイヤ(UIやデータアクセス)から分離することの意味と大切さを強調しています。 Layered Architecture パターンですね。 ソフトウェアを、レイヤ構造で整理するのは、ソフトウェア設計の基パターン。 Domain-Driven Design(DDD) では、レイヤ分割の目的を ドメインを他の関心事から独立させる ことに振り切っている。 いかにも「ドメイン駆動設計」らしい考え方ですね。 たんなる「レイヤ分割」ではなく、「ドメイン層の独立」にこだわる。 ドメイン層は分離できても... Bounded Context パターンは、この「独立したドメインモデル」という考え方を徹底するための、もう一つの

  • コンテキストのモデリング | システム設計日記

    エバンスは、去年3月のプレゼンテーション What I've learned about DDD since the book で、Domain-Driven Design(DDD)の14章の Bounded Context パターン、Context Map パターン、15章の Core Domain パターンは、DDD の基コンセプトとして、3章とか、もっと最初に書くべきだった、というようなことを言っています。 このエバンスの発言は、個人的には「何をいまさら」というのが私の正直な気持ちだった。 だって、開発プロジェクトのスタートでは、「コンテキスト図」を書いて、システムを取り巻く環境や、システムの基目的を明らかにするのが、あたりまえだから。 コンテキスト図を描き始めたきっかけ もっとも、自分たちのプロジェクトでは、私以外のメンバーは、一年前までは「コンテキスト図」なんて言葉も知らなか

  • オブジェクト指向プログラミングの教え方? | システム設計日記

    技術者仲間で話していたら、4月入社の新人に、オブジェクト指向プログラミングをどうやって教えたらよいか?、という話になった。 想定している言語は Java。 ■動物・犬・モデルの説明から ■基用語の説明から:「カプセル化とは」「継承とは」... ■サンプルコードから: System.out.println( "hello world" ) ... どのパターンでもうまくいかなかったので、今度の新人研修では何か工夫したいね、という話。 結論から言うと「これだ」というアイデアがでたわけではないが、話の内容は、いろいろ興味深かったのでメモ書き。 Java はオブジェクト指向の言語なの? Java は、ある意味 C言語の仲間。ある側面はほとんど同じ言語。 ・int, long (プリミティブなデータ型) ・配列操作 ・if/for/return ここだけ見れば、C言語のまま。つまり命令型、手続き

  • ドメイン駆動設計 | システム設計日記

    テスト駆動開発 和田卓人(t-wada)さんによる『テスト駆動開発』の新訳版が出版されました。 オブジェクト指向でソフトウェアを開発するのであれば、このとマーチンファウラーの『リファクタリング』は必読書だと思います。この古典ともいえる『テスト駆動開発』が和田さんの手によって新訳版として復刊されたことは、ほんとうにすばらしいことです。 このが出版された経緯と、和田さんはじめ関係者の方々のご努力については、和田さんの、このブログをぜひ読んでいただければと思います。 新訳版『テスト駆動開発』が出ます 新訳は、単に原著が日語で読めるようになっただけではありません。和田さんの手によって、原著にはない新たな価値が付け加えらました。 一つは、サンプルコードの工夫です。 できるだけ省略はしない変更箇所を目立つようにした各章末にその時点での全コードを記載する これらの工夫により、に書かれた内容が、

  • 1