HayDayで例えるDDD(ドメイン駆動開発)その1
HayDayやってます。DDDもやってます。
HayDayは農場経営ゲームで、DDDはソフトウェア開発手法です。
エリック・エヴァンスのドメイン駆動設計を読みながら、いろんなslideshareを参考にしながら勉強をしているところです。
本書はページ数が多いし、概念も新しいこともあって、なかなか読み下すのに苦労しています。
既存のプロジェクトをDDDに当てはめて考えていますが、**コアドメインどこよ状態**で、それならHeyDayに置き換えたらいけるんじゃないのかと半ばヤケクソ気味なプラクティスですし、内容は多いに間違っているはずなので、続きは与太話程度で。
## あつかう項目
- ニワトリ
- 小屋
- 買い付け
- エサやり
- エサ作り
- 卵の回収
### ドメイン・値オブジェクト
- ニワトリ
### レポジトリ
- 小屋
### ファクトリ
- 買い付け
### サービス
- エサやり
- エサ作り
- 卵の回収
### ドメインモデルの分類
- ニワトリは「値オブジェクト(Chicken)」
- 買い付けは「ファクトリ(ChickenFactory)」がやる
- ニワトリは「レポジトリ(ChickenRepository)」に入れられる
- 小屋に入った時点で「エンティティ(ChickenEntity)」になる
- エサやり、エサ作り、卵の回収は「サービス(FeedService)」でおこなう
こんな感じでいいのだろうか?
FeedServiceが卵の回収をしているところに違和感を感じている。
時間を見つけて実装して問題点を探してみたい。
<その2>があるかは、未定。
エリック・エヴァンス 翔泳社 2011-04-09 売り上げランキング : 77793
|
## 追記(2014/11/21)
実装をしてみた。しっくりこない。