(DB)の2019年4月の問1をお題としたドメイン駆動設計チャレンジです。ほんとはリポジトリに進む予定だったのですが・・・ドメインのモデルで業務ルールを表してみる専門家:エントリサービスも、エンティティ、値オブジェクト、サービス、ファクトリと、大体形になってきましたね。開発者:そうですね、あとは、エントリ枠を作るにしても、参加希望者が参加申し込みするにしても、参あ加者を確定するにしても、それなりのルールがあると思うので、今日はその点を整理することにしましょう。どこから始めましょうか・・・うーんエントリ枠を作るときのルールからにしましょうか。開発者:お願いします。専門家:エントリ枠のエンティティはこんな感じでしたよね。定員とかどうです?定員数は決まってるとか。専門家:そうですね、エントリ枠ごとに定員は違いますが、0人とかないです。専門家:今の所は!開発者:後から変わる可能性もあるわけですね。そこらへんのルールを表すものが必要そうですね。開発者:はい、定員の「仕様」を表してみます。開発者:定員数の仕様に最小の定員数と最大の定員数を持たせて、定員を生成する時に定員数の仕様を使って検証することにしましょう。専門家:検証仕様はインターフェースにしたのですね?開発者:はい、他にも検証するところがあるかと思うので、「仕様を満たしているか?」というAPIで統一しようかなと思います。専門家:いいですね!続けて参加費用は無料ということもありますが、最大で10000円になります。これも同じように検証仕様を実装して、参加費用から使うようにするわけですね。