
Eric EvansがDDD(ドメイン駆動設計)を語る
2004 年に『Domain-Driven Design(ドメイン駆動設計)』を執筆して以来、Eric Evans はドメインのモデル化と設計コンセプトの進展に大きな影響を与えてきました。今回の Floyd Marinescu とのインタビューでは、『Domain-Driven Design』における最近のいくつかの改良点やこの分野の現在の進展状況について話を伺いました。

2004 年に『Domain-Driven Design(ドメイン駆動設計)』を執筆して以来、Eric Evans はドメインのモデル化と設計コンセプトの進展に大きな影響を与えてきました。今回の Floyd Marinescu とのインタビューでは、『Domain-Driven Design』における最近のいくつかの改良点やこの分野の現在の進展状況について話を伺いました。

インフラが望むようにドメインモデルを利用することは、ただ正しいドメインモデルクラスを作成したり、それらを利用することだけではありません。Mats Helander氏が、難しく思えるこれらのことを平易に説明します。

ここに掲載したインタビュー記事は、無料のダウンロード書籍『Domain-Driven Design Quickly』からの抜粋(6章)です。このインタビューの中で、Eric Evans氏はDDDをシステム開発の現状に当てはめ、今、DDD(Domain-Driven Design、ドメイン駆動設計)が重要とされる理由について説明しています。
Object Lifecycle(またの名をState Machine)は大半、デベロッパ、アーキテクトおよびビジネスプロセスを扱う人びとに一様に無視されてきた。IBM Zurichの研究家集団が、実行可能なビジネスプロセスモデルを補完し、関連付けるオブジェクトライフサイクルモデリングツールをリリースした。
ADO.NET Entity Frameworkは、ビジュアルモデリングツールに大いに依存している。しかし、これらのツールは規模の大きい開発に本当に適しているのだろうか?
MendixのCTOであるJohan den Haan氏は最近自身のブログで、モデルドリブンに関する方法(アーキテクチャ、開発、エンジニアリングなど)について記事を書いた。
Peter Ritchie氏は、TDDやBDDにこだわることで、良いユニットテストを書かなくなる傾向があるのではないか、という懸念を表明した。特に「インタラクションテスト(interaction testing)」というマントラは、不完全なユニットテスト、すなわち、どのような条件下で利用されても稼働するユニット(オブジェクト)である、という証明ができていないテストをもたらすと述べている。Peter氏の考えで最も興味深いのは、TDDとBDDのそもそもの意図に対する反対意見と受け取れるところだ。
Naked Objects はドメインオブジェクトが中心的役割を担うアプリケーションを開発するためのアーキテクチャパターンでありフレームワークである。Naked Objects アプリケーションにおけるドメインオブジェクトはユーザインターフェースの中心部を形成し、開発作業の焦点である。このNaked Objects が最近バージョン3.0をリリースした。
オブジェクト指向のプログラミングにおいて、オブジェクトは従来的にオブジェクトのメソッドとして実装され、そのビヘイビアを決定するアクションと結合されている。Reg Braithwaite氏はいくつかのケースにおいてその二つを分離させることに関連していることを述べている。またBuko Obele氏は通常オブジェクト指向のデザインに使用されている動詞・名詞メタファーを超えて考慮し、OOPへの従来的なアプローチを問うている。