2016-09-12 45 views
0

目前,我正在開發一個將被移動設備和Web應用程序使用的API。我碰到的一個問題是,我有太多的simmilar dto模型。例如,請考慮以下幾點:如何處理API中的類似模型

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; } 
} 

我經常使用它。現在,我需要看起來像這樣的模型的另一個變體:

public class DeviceModelVariation 
{ 
    public int DevicesID { get; set; } 
    public string DeviceUID { get; set; } 
    public string MACAddress { get; set; } 
} 

處理這種類似模型的最佳做法是什麼?可以有2個甚至3個這種類似DTO的DTO可以嗎?

+0

你應該閱讀有關OOP繼承,檢查此鏈接一開始的https: //msdn.microsoft.com/en-us/library/mt656686.aspx#Inheritance –

回答

2

您可以創建一些具有公共屬性的基礎模型。更多指定的模型可以從它們繼承。當然只有在這種情況下,這些屬性纔是真正常見的。它也將簡化維護。

在你的情況(因爲它包含了所有「基地」的人的領域我會命名DeviceModelVariationDeviceModelBase):

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; } 
} 
相關問題