第二回ボトムアップドメイン駆動設計のまとめ
swiftではEquatableとComparableに準拠して、propertyをletで定義すれば値オブジェクトとみなせるのかな。 #bu_ddd
2018-12-04 20:05:13ボトムアップドメイン駆動設計を写経する会をやった効果が出ているぞ! 話だけでもイメージはつくけど、やっぱソースコード書かなくっちゃね! #bu_ddd
2018-12-04 20:06:38■エンティティ 1.可変 2.同じ属性でも区別される 3.同一性をもつ 1. (new User('tanaka')).changeName('sato'); 2. 同姓同名だけど、別オブジェクトだよね。識別子とか持とうか。 3. tanakaさんがsatoさんに切り替わっても、同一人物だよね。 #bu_ddd
2018-12-04 20:06:52属性が同じでも区別したいものってあるよね、そんなとき使えるのが識別子(ID)。識別子が同じだったら、属性がちょっと違っても同じものとして扱う。識別子で区別するのがエンティティ、属性で区別するのが値オブジェクト。合ってますかね… #bu_ddd
2018-12-04 20:07:02「ライフサイクル」も「オブジェクトのライフサイクルが〜〜〜」というフレーズで初めて出会った気がするけど、ちんぷんかんぷんだったなあ。 #bu_ddd
2018-12-04 20:08:11■ドメインサービス ・重複チェック専用オブジェクトとか、エンティティに実装しない →こういうのをやるのがドメインサービス ■私的感想 静的呼び出しするか、シングルトンで実装したほうが良さげ・・・? #bu_ddd
2018-12-04 20:10:51ドメインサービスとは?エンティティや値オブジェクトに入れると不自然な場合に作るもの。実態は副作用がないただの関数 #bu_ddd
2018-12-04 20:12:43引数にStringが重複して代入ミスるというのはよくある話だなと思った。Swift Tipsの81番がそれに使える気がする。github.com/johnsundell/sw… #bu_ddd
2018-12-04 20:12:51