C# の record 型を DDD の ValueObject として使う時の初期化時チェックについて
3018 ワード
ValueObject を初期化時にチェックロジックをいれて例外を発生させたい場合、少し悩みました。
自分なりの解決策としては、プロパティを上書きして、初期化するところにチェックロジック用のメソッドをいれる作戦にしてみました。
例えば、
public record Name(string Value);
のような record 型 の ValueObject の場合、
public record Name(string Value)
{
public string Value { get; private set; } = Check(Value);
private static string Check(string value)
{
if (value == null)
{
throw new ArgumentNullException();
}
return value;
}
}
としてみました。
Author And Source
この問題について(C# の record 型を DDD の ValueObject として使う時の初期化時チェックについて), 我々は、より多くの情報をここで見つけました https://zenn.dev/hirosu/articles/9b00ef3faae351著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Collection and Share based on the CC protocol