第二回ボトムアップドメイン駆動設計のまとめ
2018/12/04 GMO Yours にて行われた第二回ボトムアップドメイン駆動設計の勉強会のまとめです
https://ddd-community-jp.connpass.com/event/107106/
ういろう
@nyamucoro
``` var fullname = new fullname('taro', 'yamada'); fullname.changeFamilyName('sato'); ``` これがだめなら、 ``` var fullname = new fullname('taro', 'yamada'); fullname = new fullname('taro', 'taro'); ``` っていう話 #bu_ddd
2018-12-04 19:55:11
ういろう
@nyamucoro
1.表現力が増す 2.ありえない数値を存在させない。 3.誤った代入をさせない 2. intに虚数を入れるとか? 3. __construct($id) { $this->id = $id } この$idにnameが投げるとか困るけど __construct(ValueObject $vo) これでいいよね #bu_ddd
2018-12-04 20:02:13
02
@cocoeyes02
値オブジェクト * 値の性質 * わかりやすいところ3つ(他にもあるらしい) * 状態を不変に保つ * 状態 =プロパティ・フィールド * ソースコードmemo: readonly 再代入不可にする * 指名の変更は再代入しないといけないよね #bu_ddd
2018-12-04 20:02:29
02
@cocoeyes02
値オブジェクトのモチベーション * パフォーマンスとかで渋られるときとか、どう説得する? * 本来あり得ないものを存在させない * 存在させると、バリデーションとかで今後チェックしないといけない、品質担保しないといけない #bu_ddd
2018-12-04 20:02:53