generated at
「Domain Modeling Made Functional」内の要件や用語

要件
B2Bのシステムで、年中注文される
顧客はそのドメインのエキスパート
レスポンスの速度はそこまで求められていない
注文後のこちら側の処理
商品コードが正しいかを確認する
毎月更新されるカタログを参照して確認する
注文用紙にチェックしていき総計を算出する
注文用紙を2枚コピーして3枚にする
発送部用と、請求部用
オリジナルは自分らで管理



用語
order acknowledgment
注文書をスキャンし、お客様にメールで送り、価格と支払額を確認できるようにするワークフローのこと
order
実際の注文
purs(hs)
data Order = Order { Id :: OrderId , CustomerId :: CustomerId , ShippingAddress :: ShippingAddress , BillingAddress :: BillingAddress , OrderLines :: List OrderLine , AmountToBill :: BillingAmount }
入力に基づき、validatationされ、価格が計算されたもの
quote
見積もり
顧客は商品の見積もりを頼んできたが、実際には発送はしない
このときはコピーなどの処理も行わない
3つのpile
order, quote, invalid order
Order Line
Orderに含まれる1つ1つの商品
「今の商品の値段」ではなく、「受注時の商品の値段」の情報が必要なため、 Product そのものではなく、 ProductCode Price を持つ
セールとかで一時的な値引きとかあるからねmrsekut
OderLineは、Order集約の一部である
OrderLineが変更されると、自動的にOrderも変更される
purs(hs)
data OrderLine = OrderLine { Id :: OrderLineId , OrderId :: OrderId , ProductCode :: ProductCode , OrderQuantity :: OrderQuantity , Price :: Price }


Orderの状態遷移
p.122
ECのOrderのあるある状態遷移とかに雑に書いている(雑すぎ)



人物名
Ollie
Domain Expertの人
非エンジニア
こいつが依頼している


章末とかにコードが載っている
例えば、p.98~