我有以下课程:
public class CraneModel
{
public long? Id { get; set; }
public long? IDType { get; set; }
public long? IDManufacturer { get; set; }
public string Name { get; set; }
public long? MaxLoad { get; set; }
public long? MaxSpan { get; set; }
public long? Speed { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
现在我必须独立填充数据列表,这是我在这里存储的子集.数据结构看起来像这样:
public class CraneSubModel
{
public string Name { get; set; }
public long? MaxLoad { get; set; }
public long? MaxSpan { get; set; }
public long? Speed { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我想知道这里最好的方法是什么.它是好的形式CraneModel
,只是忽略其他变量?或者制作一个可以容纳这些数据的新结构?关于任何一种解决方案
CraneModel
使用并且必须在某一天进行更改,这可能导致必须重新编写列表,甚至可能为其创建新结构.CraneSubModel
似乎是多余的,因为已经存在一个可以保存这些精确数据的结构,并且它可能变得难以维护(如果有一天我需要,Name
并且MaxLoad
,这种确切的情况会出现,并且每次使用新结构会使事情变得非常复杂).在我看来,你有这个对象模型(尽管有类名):
public class CraneSubModel
{
public string Name { get; set; }
public long? MaxLoad { get; set; }
public long? MaxSpan { get; set; }
public long? Speed { get; set; }
}
public class CraneModel : CraneSubModel
{
public long? Id { get; set; }
public long? IDType { get; set; }
public long? IDManufacturer { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我会建议你使用composite
,因为它可以减少耦合CraneSubModel
和CraneModel
.
如果有一天你修改CraneSubModel
不会CraneModel
直接影响类
public class CraneSubModel
{
public string Name { get; set; }
public long? MaxLoad { get; set; }
public long? MaxSpan { get; set; }
public long? Speed { get; set; }
}
public class CraneModel
{
public long? Id { get; set; }
public long? IDType { get; set; }
public long? IDManufacturer { get; set; }
public CraneSubModel subModel { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
66 次 |
最近记录: |