BLOGTIMES
2009/07/04

無料で読めるDomain Driven Designの概要

  objectoriented  softwareengineering 
このエントリーをはてなブックマークに追加

Domain-Driven Design: Tackling Complexity in the Heart of Software

オブジェクト指向におけるロジックの実現方法については、PofEAAでFowlerがテーブルごとにクラスを作成してロジックを実装するテーブルモジュール、ロジックのプロシージャ(手続き)ごとにモジュールを作成するトランザクションスクリプト、振る舞いとデータをカプセル化したモジュールを作り、オブジェクトの関連しあうことでロジックを実現するドメインモデルという3つに分類されています。

この中でどれがいいかというのは賛否があると思いますが、最近のアプリ開発では普通にになりつつあるDependency Injectionとの相性を考えると、データとロジックが分離されているトランザクションスクリプトが優勢のように思えます。というか、自分が実装したものは一部を除いてほとんどがトランザクションスクリプトなので、そう感じているだけかもしれませんが、その実装で他人からおかしいという指摘を受けた事がないというのも事実です。

ただ、この中でもっともオブジェクト指向らしい実現方法はと聞かれれば迷わずドメインモデルと答えますが、誰もがいちばん困っているのがこのドメインモデルの作り方だろうと思いますし、僕のように「いつかはドメインモデル」みたいな人も少なくないだろうと思います。

InfoQ: Domain Driven Design(ドメイン駆動設計) Quickly 日本語版

巨大なソフトウェアプロジェクトが直面する最も複雑な局面は、実装ではなく、ソフトウェアが提供する実世界のドメインです。ドメイン駆動設計(Domain Driven Design)は、非常に複雑なドメインを取り扱うためのヴィジョンとアプローチです。このヴィジョンとアプローチは、ドメイン自身をプロジェクトの主な焦点とし、ドメインの深い理解を反映したソフトウェアモデルを維持します。 このビジョンは、Eric Evans氏の本「Domain Driven Design」によって世界に広められました。

Domain Driven Designは僕も原著を持っていて、完全に読みこなせているわけではありませんが、ドメインモデルの勉強をするには良い本だと思います。ただ、日本語の資料が意外と少なく、まともに読めるのはオージス総研のDomain-Driven Designのエッセンスくらいしか知らなかったのですが、上記のDomain Driven Design Quickly 日本語版は本の全体を掴む上ではかなり良さそうな感じです。このPDFはダウンロードには会員登録が必要ですが、無料なので、原著を買う前に目を通しておいて損はないと思います。


    トラックバックについて
    Trackback URL:
    お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
    このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/3105
    Trackbacks
    このエントリにトラックバックはありません
    Comments
    愛のあるツッコミをお気軽にどうぞ。[policy]
    古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
    コメントはありません
    Comments Form

    コメントは承認後の表示となります。
    OpenIDでログインすると、即時に公開されます。

    OpenID を使ってログインすることができます。

    Identity URL: Yahoo! JAPAN IDでログイン