InfoQ ホームページ Domain Driven Design に関するすべてのコンテンツ
-
Eric Evans氏はドメイン駆動設計(DDD) は未完成だと述べた
Explore DDDの基調講演のなかで、Eric Evans氏は「DDDは未完成だ」と述べた。ドメイン駆動設計が上梓されてからの過去15年間において、DDDは立ち止まっておらず、DDDを進化させ続けるために依然としてやることがあるのだ。
-
エンティティサービスは複雑さを高める
独立系ソフトウェアコンサルタントのTareq Abedrabbo氏によると、エンティティサービスはマイクロサービス・アンチパターンだという。その主な理由は、浅い(shallow)モジュールを作ってしまい、提供する機能に関してインターフェイスが複雑になるためだ。
-
ビジネスプロセス、長期実行サービス、マイクロサービス
ここ数年、ドメインイベントに関する議論は増えているが、コマンドについても同じように議論すべきではないか – Martin Schimak氏はDDD eXchange 2018の講演でこのように述べて、マイクロサービスにおけるイベントとコマンド、長期実行(long-running)サービスを取り上げるとともに、プロセスマネージャおよび同類のツールがコアビジネスロジックを運用する上でいかに有効であるかを説明した。
-
システムをマイクロサービスに分解するには
2年前、Vladik Khononov氏とそのチームはマイクロサービスの導入を決定したものの、数ヶ月後に大きな混乱に陥った。システムをマイクロサービスに分解する方法 - さまざまな機能を配置するためのバウンダリを見つけ出す方法を検討することなく、新しいクールなテクノロジに飛びついたことが原因だった。
-
QCon NY:Jonas Bonér氏よりイベントファーストのマイクロサービスの設計について
イベントファーストのドメイン駆動型設計(DDD)とイベントストリーミングは、回復力がありスケーラブルなマイクロサービスアーキテクチャを開発する上で非常に重要である。LightBendのエンジニアリングチームのJonas Bonér氏は先週、QCon New York 2018 Conferenceでイベントファーストのデザインについて話した。
-
DDD、イベントストーミング、アクターモデルを使用したリアクティブシステムの設計
ドメイン駆動設計(DDD)は、しばしマイクロサービスを取り巻く境界(境界づけられたコンテキスト)を見つけ出すために用いられる。しかし、DDDに含まれるすべてのものがマイクロサービスにとって良いわけではない、とLutz Huehnken氏はベルリンで開催されたmicroxchg 2018のプレゼンテーションのなかで主張した。氏はDDD、イベントストーミング、そしてAkkaを基盤としたLagomフレームワークを使用して、リアクティブシステムをどうやって構築できるかを解説している。
-
QCon London: 非同期イベントアーキテクチャにおけるアクタ導入の可否
マイクロサービスシステムにおける同期型の要求-応答通信は、場合によっては非常に複雑なものになるが、幸いにもイベントベースのアーキテクチャがこれを回避する手段になる — QCon London 2018でのプレゼンテーションで、Yaroslav Tkachenko氏はこのように主張し、イベントアーキテクチャでの自身の経験から、このアーキテクチャでシステムを構築する上でアクタを利用する方法について説明した。
-
DDD Europe 2018カンファレンス参加記
先日アムステルダムで開催された第3回DDD Europe 2018カンファレンスには、700名近い参加者があった。カンファレンスはドメイン駆動設計(DDD)を中心とするもので、基調講演と19のプレゼンテーション、オープンスペースで開催された1トラックを含み、ライブコーディングとハンズオンを重視した17のセッションが行われた。注目すべき講演者はEric Evans、Dave Snowden、Rebecca Wirfs-Brock、Cyrille Martraire各氏などである。
-
ドメインストーリテリングを使ってコンテキスト境界を見つけ出す
ドメイン駆動設計(DDD)による開発では、コンテキスト境界(bounded context)が重要なコンセプトとなる。ドメインストーリテリング(Domain Storytelling)とは、人々とシステムがドメイン内でどのように共同作業するのか、コンテキスト境界を識別する上で使用できるのは何か、どのように連携するのかを見出す手段である — 先日アムステルダムで開催されたDDD Europe 2018で、Stefan Hofer氏とHenning Schwentner氏はこのように説明した。
-
CQRSとイベントソーシングでシステムを構築する
CQRSとイベントソースシステムに関する議論の末にMichiel Overeem氏が達した結論は、イベントソースシステムに従事する人々の多くはそのシステムを理解せず、問題へのアプローチ方法も分かっていない、というものだ。これが氏にとってこの種のシステムを構築する方法を探求的に研究するきっかけになったと、氏は、先日アムステルダムで開催されたDDD Europe 2018カンファレンスで説明した。
-
Eric Evans氏の基調講演より - ドメイン駆動設計を実践するには
アムステルダムで開催されたDDD Europe 2018で基調講演を行ったEric Evans氏にとって、ソフトウェア開発で重要なのは探求と実践だ。DDD(ドメイン駆動設計)の戦略的パターンに取り組んでいる氏にとって、しかしながら本当の意味で興味があるのは、複雑なドメインに対する新たな思考法、すなわち思考の箱(mental box)から抜け出して新たなコンセプトを見出す方法だ。
-
Eric Evans氏: ドメイン駆動設計は、以前より以上に妥当性を獲得している
ドメイン駆動設計の著者、Eric Evans氏は、2003年に書いた本のコンセプトは、14年前よりも今のほうがより現実の問題に関連していると言った。様々なツールや技術が拡張されて、そのいくつかは、私たちが過去に持っていたものよりもよりDDDの原則に合っている。「DDDは技術に関するものではないが、技術に無関係な訳でもない」とEvans氏は言った。
-
Vaughn Vernon氏はマイクロサービス内で不確実性をモデリングするためにリアクティブDDDを使用する
マイクロサービスとリアクティブシステムは順不同な到着順、重複、喪失などのメッセージに関する不確定性をもたらす。これに対する対応の仕方はビジネス上の決断であるとVaughn Vernon氏は述べ、ドメイン駆動設計の概念を用いて対処するのが最善であるとした。
-
イベントアーキテクチャを選択する
分散システムの設計において、おそらくはマイクロサービスに基づいたイベントアーキテクチャを検討する場合、利用可能なモデルとテクノロジはいくつかある。アーキテクチャの実装方法を選択する時、そのおもな要因は非機能要件である - さまざまなイベントアーキテクチャのスタイルを説明した先日のブログ記事で、David Dawson氏はこのように主張している。
-
ドメイン駆動設計のガイドライン: Capture - Embed - Protect
ソフトウェア設計と開発のガイドラインとしてドメイン駆動設計(DDD)の中核的な哲学とプラクティスを用いる場合、それはCapture — Embed — Protectという3つの原則にまとめることができる — 今年のDDD eXchangeカンファレンスで行なったプレゼンテーションの中で、Steven A. Lowe氏はこのように主張した。我々は、肯定的な行動を取るに十分な理解を得ることでドメインモデルを捕捉(Capture)し、コードや会話の中にそれを埋め込み{Embed)、他ドメイン、特に技術的なドメインによる改変から保護する(Protect)のだ。