https://sk-design-labo.connpass.com/event/53851/
- オブジェクト指向
- ピザを購入する流れを記述
- 1500円のピザを購入
- -800円のキャンペーンが適用されたりされなかったり
- 合計金額と購入者の名前を表示
- タスクベースで全てを記述するのではなく、オブジェクトベースで定義すべし
- 商品(Product), キャンペーン(Campaign), カート(Cart), 注文(Order) に分解してそれぞれの責務を明確に
- NoCampaign で NullObject パターンを利用
- 「出力する」というお題に対して「レシートを表示(show_receipt)」という名前をつけたのでイメージしやすくなった
- 顧客(Customer)クラスを作っていない
- レシートの出力をOrderに持たせず別クラスにした方がいいかも