[英]Should a DTO/POCO have a constructor and private setters on all properties?
我知道這里有很多關於DTO和POCO的討論,但我真的找不到這個。 在沒有構造函數與私有setter和構造函數的情況下編寫DTO是否有規則?
例A:
public class Person
{
public int Id { get; set; }
public String Name { get; set; }
public int Age { get; set; }
}
例B:
public class Person
{
public Person (int id, String name, int age)
{
Id = id;
Name = name;
Age = age;
}
public int Id { get; }
public String Name { get; }
public int Age { get; }
}
這兩種方法中的任何一種都被認為是反模式的嗎? 為什么? 我的意思是,我知道有人可能會支持不變性或鍋爐平台和重構問題,但是有沒有事實上的方法,這是正式的嗎?
DTO不應該是不可變的,因為主要目的是可序列化和反序列化。 所以不變性無關緊要。
但
可變的親
可變的缺點
不變的親
不變的利弊
例B更好,因為它是不可變的。 DTO的目的是傳輸數據,因此不需要更改數據。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.