- blogs:
- cles::blog

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


オブジェクト指向におけるロジックの実現方法については、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が必要です→https://blog.cles.jp/item/3105
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
コメントは承認後の表示となります。
OpenIDでログインすると、即時に公開されます。
OpenID を使ってログインすることができます。
2 . Word で数式がグレーアウトされていて挿入できないときは(6760)
3 . Windows 10 で勝手にログアウトされないようにする(5161)
4 . Firefox でパスワードが保存されるページとされないページの違い(3914)
5 . awk で指定した n カラム目以降を出力する(3487)