ドメインエンティティはアプリケーションサービスの延長か
from
関数による操作とドメインエンティティの操作
ドメインエンティティ
は内部的な
状態変化
として
swap
を伴う。これは
手続き
である。
ローカル変数
あるいは
グローバル変数
は
状態
であり、
swap
は
状態
を変化させるための
手続き
であると捉えられる。
状態
を変化させるための
手続き
は変化そのものではないことに注意する。
状態
そのものは
値
であり、変化前の
状態
と変化後の
状態
はCalculation(暗黙的なインプットとアウトプットを伴わない)として表現することができる。あるいは
イミュータブル
な
値オブジェクト
として。
話を戻す。
swap
が
手続き
であるなら、
swap
を伴う
ドメインエンティティ
のメソッドは
アプリケーションサービス
の延長であると考えることができるのかもしれない。であれば、さらに、
ドメインエンティティ
のメソッドにロジックを記述するのは
アプリケーションサービス
にロジックを記述するのと同じことになる。ロジックはCalculation、または
イミュータブル
な
値オブジェクト
として表現するのがよいだろう。これはprivateなメソッドというよりは
属性
としてのはたらきか?
ref
関数(Calculation)かメソッドか