InfoQ ホームページ Domain Driven Design に関するすべてのコンテンツ
-
Juval Löwy氏が語る - クラスがすべてサービスであるべき理由
Juval Löwy氏は,個々のクラスをサービスで表現したサービス指向アプリケーションによる,システム構築手法のパイオニアだ。このようなアプリケーションは,最初は'クラス爆発'のように思われるかも知れないが,実は真に分解され,適切に分析および設計されたシステムである。氏は自らの意図を述べた上で,開発チームがこのプロセスを改善する方法を説明する。
-
Event Stormingを実践する
ドメイン駆動設計(DDD)のコンテキストにおいて,Event Stormingは極めて有用で価値のあるものだ – 先日ロンドンで開催されたDDD eXchangeカンファレンスのプレゼンテーションで,Dan North氏はこのように主張して,Event Stormingの基本的メカニズムを説明するとともに,過去数年間にさまざまなシステムをモデリングした自身の経験について公開した。
-
Eric Evans氏: ドメイン駆動設計はソフトウェア開発に有益か?
この数年、ドメイン駆動設計(DDD)への関心が高まっている。Eric Evans氏はロンドンで行われた最近のDDD eXchange Conferenceにおけるキーノートで言及している。彼は開発者がもっと設計に注意を払う時期にいると考えている。理由のひとつは、モデルが高い意味を持つ分散システムを扱う仕事をしているからである。
-
DDDの世界でドメインエキスパートと働く
ドメイン駆動設計におけるドメインエキスパートと使用する言葉に関する話題は良くある。 しかし、なかなか難しい。理由は私達が話す言葉が同じではないからである。 このことは、今年既にドメイン駆動設計 欧州カンファレンスにおいて、Cyrille Martraire氏からDDDを推進する状況でドメインエキスパート達と働いた経験を共有するプレゼンテーションで説明されている。
-
Vaughn Vernon氏が語る,今日のソフトウェア開発における課題
プロジェクトや開発チームは設計の不十分なシステムで苦労している。システムを維持する目的のみのパッチ開発に忙殺される技術者も多い。おもな原因は,ソフトウェア開発の文化が破壊されていることだ – Vaughn Vernon氏は,今年初めにDomain-Driven Design Europeで行なったプレゼンテーションの中でこのように主張して,自身の遭遇した問題の紹介に加えて,それらの問題に対するソリューションについても解説した。
-
Paul Rayner氏が語る,”DDDとアジャイルは共存できる"
ドメイン駆動設計はアジャイルプラクティスを補完するものであり,'ウォーターフォールアプローチ'の事前設計を避けることが,最悪の方法である"設計しない"設計方法になることの回避を可能にする。
-
ドメイン駆動設計とマイクロサービス
QCon LondonでEric Evans氏は複数のチームが他のチームのサービスを統合することで生まれる"大きな泥だんご"をうまく扱うための仕組みとしてドメイン駆動設計を紹介している。
-
ドメイン駆動設計でマイクロサービス開発
マイクロサービスとドメイン駆動設計(DDD)、と言えば境界づけられたコンテキストが話題に上がる。確かにマイクロサービスの粒度を定義する上で境界づけられたコンテキストは基礎となる道具だが、他のコンセプトも重要だ。Michael Plöd氏はベルリンで開催されたmicroXchgカンファレンスのプレゼンで、DDDは単にエンティティや値オブジェクト、リポジトリというだけではない、と言い、マイクロサービスを設計する上でのDDDの使い方について説明した。
-
ドメイン駆動設計とユーザストーリーマッピングを組み合わせる
DDDを導入する上でユーザーストーリーマッピングはシンプルだが価値あるパターンだ。開発者とドメインの専門家がドメインの知識を共有するのに役に立つ。Eriksen Costa氏はブログでユーザストーリーマッピングとドメイン駆動設計(DDD)を組み合わせることのメリットについて説明している。
-
モノリシックからマイクロサービスアーキテクチャへの動き
モノリスからマイクロサービスへの動きに賛同しつつも、ビジネスステークホルダーが関心を持っているのはコストを削減することだ。マイクロサービスアーキテクチャへの移行は収益を増やしたり守るものではなく、スケールも分散もビジネスを納得���せる良い理由にはならない。今年開かれたMicroservices Conference in Londonでのプレゼンで、モノリスからマイクロサービスに移行する指針をIan Cooper氏が説明した。
-
ドメインイベントと結果整合性
結果整合性はスケーラビリティと性能を改善する設計方法だ。ドメインイベントはドメイン駆動設計の戦略的要素であり、結果整合性の実現を促す。Florin Preda氏とMike Mogosanu氏がブログでこの設計の利点を説明している。
-
Udi Dahan氏の語るビジネスロジックの再利用とマイクロサービス
再利用(Reuse)はこの13年間,システム開発のほぼすべての事象に対するモットーだった。しかしながら再利用は,少なければ健康的だが,度が過ぎるとダメージを被る,シアン化合物のようなものだ – ロンドンで開催された今年のDDD Exchangeカンファレンスでのプレゼンテーションで,Udi Dahan氏はこのように述べて,ビジネスロジックの面からの視点を提案した。
-
避けるべきDDDの10の失敗
ドメインエキスパートとやりとりをしない、というのが、ドメイン駆動設計 (DDD)でよくある失敗のひとつであり、これを早い段階で修正することで、チームの時間を節約できると、Daniel Whittaker氏は説明する。氏は、DDDの実践の中で、よく出くわす10の失敗についての説明の中で、この点を指摘した。
-
コンテキスト境界を使って大きなドメインモデルを小さくする
開発者はドメイン駆動設計(DDD)のコンテキスト境界という概念を使って、巨大なモデルを複数の小さなモデルに分割できる。これにはEntity Frameworkのデータベースコンテキスト(DbContextクラス)が利用できる。
-
Event Store を Read Model として利用する - Greg Young 氏の講演より
Event Store のリードアーキテクトである Greg Young 氏は先日,Event Store の Projections Library と,それを Read Model として使用する方法について 講演した。プレゼンテーションの中で氏は,Projections Library とは何なのかを主要なユースケースを挙げて説明した上で,多数の実例を示した。