目前,我正在开发一个将由移动和Web应用程序使用的API。我遇到的一个问题是我有太多的simmilar dto模型。例如,请考虑以下内容:
Winium
我经常使用的。现在,我需要这个模型的另一种变体,如下所示:
public class DeviceModel
{
public int DevicesID { get; set; }
public string DeviceUID { get; set; }
public string MACAddress { get; set; }
public bool Allowed { get; set; }
public UserModel Owner { get; set; }
}
处理此类相似模型的最佳做法是什么?是否有2个甚至三个这样的DTO彼此相似?
答案 0 :(得分:2)
您可以创建一些具有公共属性的基础模型。指定的模型可以从它们继承。当然,只有在这种情况下,属性是非常常见的。它还将简化维护。
在您的情况下(我会将DeviceModelVariation
命名为DeviceModelBase
,因为它包含所有“' base'”字段:
public class DeviceModelBase
{
public int DevicesID { get; set; }
public string DeviceUID { get; set; }
public string MACAddress { get; set; }
}
public class DeviceModel : DeviceModelBase
{
public bool Allowed { get; set; }
public UserModel Owner { get; set; }
}