ドメイン オブジェクトのコンストラクターが乱雑になりつつあるため、ドメイン オブジェクトのファクトリを構築しています。私の質問は、制約のテストをファクトリに移動する必要がありますか、それともドメイン オブジェクト コンストラクターに残す必要がありますか?
テストはほとんどの場合、オブジェクトがインスタンス化される前に必要なパラメーターが提供されていること、または関連するオブジェクトが特定の値を持っていることを確認するだけです。テストが失敗した場合、通常は単に例外をスローしています。
一方では、ロジックはドメイン オブジェクトに属していると思います。なぜなら、それはオブジェクトの不可欠な部分だからです。たとえば、名前のないペットは無効です。
一方、ファクトリに移動するほとんどすべてのものは、ドメイン オブジェクトの重要な部分です。(これはドメイン オブジェクト ファクトリの結果ですよね? ドメイン オブジェクトのカプセル化が壊れますか?)
ドメインに残しておいた方が安全ですが、乱雑です。私のコードは工場にあればもっと読みやすいのですが、誰かが誤ってnew
工場の代わりに演算子を使用した場合、私は困っています...