DDDに関する多くのJavaチュートリアルでは、エンティティは可変オブジェクトです。上記の例で ScalaのDDD:エンティティは不変であるべきですか?
class Product {
private String status;
public void prepare() {
this.status = "Prepearing";
}
}
、調製メソッドは、オブジェクトの内部状態を変異します。
しかしScalaで、私は私のエンティティが不変になりたい:代わりにオブジェクトを変異の
case class Product(status: String) {
def prepare: Product = {
this.copy(status = "Prepearing");
}
}
だから、私は新しいエンティティをバック返します。
DDDに関して、不変のエンティティとそれ以上の実装を持つことは大丈夫ですか?
また、より良い方法をお勧めしますか?
を表現することができ、この質問はおそらくhttp://softwareengineering.stackexchange.com – Jubobs