タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

DDDに関するSuicomのブックマーク (9)

  • Standalone Classes パターン : スパゲティにしない設計 | システム設計日記

    たくさんのオブジェクトが、からみあってくると、ソフトウェアは手がつけれなくなる。 いわゆるスパゲティコード。 ・読みにくい(理解しがたい) ・テストコードが書きにくい(特に、セットアップ) ・変更がしにくい/こわくてできない ... スパゲティにしたいわけじゃない。でも、いつのまにか、そうなっちゃう。 こうならないために、どんな設計・実装をこころがけるべきか? 「依存」を見たら、泥棒と思え 当たり前のように使っている、コードの中の依存関係。 ・インスタンス変数で他のオブジェクトへの参照を保持 ・メソッド内の一時変数で他のオブジェクトへの参照を保持 ・メソッドのパラメータで渡ってくる、他のオブジェクトへの参照 ... こういう「依存性」を、すべて疑ってかかる。 スパゲッティになりたくなかったら「全て」を疑う。 「ほんとうに必要か?」 「他のやり方があるのでは?」 参照やパラメータ渡しがあるか

  • しなやかな設計 : 小さく、はじめてみる | システム設計日記

    Domain-Driven Design の10章 Supple Design ( しなやかな設計 ) は、ドメイン駆動設計を実践していくための、設計・実装の基礎テクニック集なんだと思います。 ・ドメインをより深く理解して、ほんとうに役に立つソフトウェアを開発する。 ・隣接ドメインを含めて、より広い範囲の問題に取り組む。 この章の基礎テクニックを習得して、日々の設計・実装で、ふつうに使えるようになると、ドメインをもっと深く理解し、もっと広い問題に取り掛かる、土台がしっかりしてくる。 ソースコードが改良され読みやすくなり、開発者のドメイン駆動設計の実践スキルがしっかりしてくる。 どこから手をつける? エバンスは、10章の最後で、広い範囲を、一気に手をつけると、エネルギーが分散してしまう。まず、狭い範囲に絞って、そこで、じっくりと「しなやかの設計」の基礎テクニックを実践してみることを薦めていま

  • しやなかな設計 ( Supple Design ) はボトムアップで | システム設計日記

    Supple Design (しなやかな設計)のパターンと設計スタイルは、主な適用範囲は、狭い範囲ですね。 ビジネスロジックのちょっとしたかたまりを、Money とか、 BusinessDate とか、PersonName とか、役割が単純で、独立した、プリミティブなドメインオブジェクトにカプセル化する作業。 こういう単純だけど、役割が明確なドメインオブジェクトが揃ってくると、全体のコードがわかりやすくなる。 その結果、もっと、大きなモデリングや設計の課題に取り組みやすくなる。 レイヤ構造 Supple Design を地道に実践していくと、ドメインオブジェクトの群れが、レイヤ構造になってくる。 上から、 アプリケーションサービス層  ドメインモデルを使う側、クライアントコードの置き場所 ドメインモデル層  問題領域の知識が豊富 ( knowledge rich )なドメインモデルの

  • システム設計日記

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

    Suicom
    Suicom 2011/08/25
  • ドメイン駆動設計を始めるときにおすすめな教材&情報源 - かとじゅんの技術日誌

    ドメイン駆動設計(DDD)を始めるときにおすすめな教材&情報源を順不同で紹介します。 まずは、EvansのDDD。洋書ですが、原書にしか書いてないことがあるので、はやりこれです。 Domain-Driven Design: Tackling Complexity in the Heart of Software 作者: Eric Evans出版社/メーカー: Addison-Wesley Professional発売日: 2003/08/22メディア: ハードカバー購入: 4人 クリック: 109回この商品を含むブログ (89件) を見る 英語が得意でないけど、気合いで読みたい方は、電子辞書やALCなどで武装して翻訳してみるとかw。たぶん、文中の太字の部分だけでも読むと感覚がつかめます。 日語じゃなきゃだめだという方は、こちら。ダイジェスト版ですがかなり核心部分に触れているのでおすす

    ドメイン駆動設計を始めるときにおすすめな教材&情報源 - かとじゅんの技術日誌
    Suicom
    Suicom 2011/08/25
  • InfoQ: Domain Driven Design(ドメイン駆動設計) Quickly 日本語版

    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が最近リリースされ、重要な変...

    Suicom
    Suicom 2010/02/22
  • InfoQ: ドメイン駆動設計・開発の実践

    ドメイン・モデルと開発に注力しないと"太ったサービス・レイヤ"と"ドメイン・モデル貧血症"によるアプリケーション・アーキテクチャになってしまいます。この場合、ファサード・クラス(通常はステートレス・セッション・ビーン)にどんどんビジネス・ロジックが溜まっていき、ドメイン・オブジェクトがgetter/setterからなる単なるデータの運び屋のようになってしまいます。このアプローチをとるとドメイン固有のビジネス・ロジックやルールが複数の異なるファサード・クラスに散在(時には重複)することになります。 "ドメイン・モデル貧血症"はたいていの場合、コストに見合いません。他の企業と比較して利点があるわけではなく、このアーキテクチャの下でビジネス要求の変化を実装するには開発と番環境へのデプロイするのに時間がかかり過ぎます。 DDD実装プロジェクトにおけるいろいろなアーキテクチャや設計について見ていく

    InfoQ: ドメイン駆動設計・開発の実践
    Suicom
    Suicom 2010/02/22
  • [ 技術講座 ] Domain-Driven Designのエッセンス 第1回|オブジェクトの広場

    DDD難民に捧げる Domain-Driven Designのエッセンス 第1回 ドメイン駆動設計とは 株式会社オージス総研 アドバンストモデリングソリューション部 佐藤 匡剛 Domain-Driven Design Tackling Complexity in the Heart of Software Eric Evans 著 Addison-Wesley, 59.99ドル 560ページ ISBN: 0-321-12521-5 「ドメインモデリング」は、アプリケーション開発において最も重要な部分だとされています。しかしその割には、フレームワークの使い方やアーキテクチャの設計方法など技術に関する解説書はたくさんあるものの、ドメインモデリングそのものを扱った書籍はほとんど無かったと言ってもいいでしょう。Eric Evansの『Domain-Driven Design』(以降DDD)は、「

    Suicom
    Suicom 2010/02/22
  • ドメイン駆動設計の概要

    目次 プラトン的モデル 言うべきことを言う コンテキスト 価値提案を把握する 単一責任システム エンティティは ID とライフサイクルを持つ 値オブジェクトは記述する 集計ルートによりエンティティを結合する ドメイン サービス モデルの主要な操作 リポジトリにより集計ルートを省略する データベースの関連事項 DDD の使用を開始する ドメイン駆動設計 (DDD) とは、洗練されたオブジェクト システムの設計に役立つ原則とパターンをまとめたものです。設計に DDD を適切に適用することで、ドメイン モデルと呼ばれるソフトウェア抽象化を実現できます。このモデルにより複雑なビジネス ロジックをカプセル化できるため、実際の業務とコードとの間に存在するギャップを小さくすることができます。 この記事では、DDD に関連する基的な概念と設計パターンについて解説します。機能豊富なドメイン モデルを設計し

    ドメイン駆動設計の概要
    Suicom
    Suicom 2010/02/22
  • 1