InfoQで「ドメイン駆動設計とは - 金融取引アプリケーションを例に」という記事が公開されていたのだけれど、これだけではさっぱり分からない。というわけで元記事をたどっていろいろと学んでみようと思う。学習記録なので、内容についてはまったく自信はございません。
photo by LifeSupercharger
- ドメイン駆動設計とは - 金融取引アプリケーションを例に
- 1. Domain-Driven Design - Introduction | Archfirst
- (元ネタは2011年のこの発表資料(PDF)のようだ)
どういう話なのか
ドメイン駆動設計(DDD)とは,ビジネス目標を達成する上で,ドメインの専門家と開発者,その他の関係者のコラボレーションを重視したソフトウェア開発アプローチだ – Naresh Bhatia氏は,DDDの基本コンセプトをこのような説明で紹介し,比較的理解が容易と思われる金融取引のドメインから,中程度の複雑性を持ったシステムであるBullsfirstを例として選択した。
とあるけれども、実際のところはNeresh Bhatia氏がソフトウェア開発の研究用に作成した「Bullsfirst」という株トレードのサンプルアプリケーションを題材にしてDDDを解説するという話である。
ちなみにBullsfirstのコードは最初はgoogle codeにあったようだが、現在がgithubに移っている模様。
- Google Code Archive - Long-term storage for Google Code Project Hosting.
- GitHub - archfirst/bullsfirst-server-java: A sample trading application demonstrating best practices in software development
(ちなみにgithubには他にも trader-desktopという別のサンプルアプリもあってreadmeが興味深い)