C# 对象建模问题

C# 对象建模问题,c#,modeling,C#,Modeling,我有一辆普通车,每一辆普通车都有一份附加品清单(皮革、abs、折叠后视镜等) 现在,更好的是: class Car { public Extra Leather {get;set;} public Extra FoldingMirrors {get;set;} public Extra Abs {get;set;} } 或者更好: class Car { private List<Extra> _listOfExtras=new List<Extra> public

我有一辆普通车,每一辆普通车都有一份附加品清单(皮革、abs、折叠后视镜等)

现在,更好的是:

class Car
{
public Extra Leather {get;set;}
public Extra FoldingMirrors {get;set;}
public Extra Abs {get;set;}
}
或者更好:

class Car
{
private List<Extra> _listOfExtras=new List<Extra>

public List<Extra> ListOfExtras
{
...
}
}
等级车
{
私有列表_listOfExtras=新列表
外部公共列表
{
...
}
}
最糟糕的是:

我的winforms应用程序脱机工作,每月一个为我发送数据

我必须在这个应用程序中保留可用的(每个汽车用户选择附加功能)附加功能列表,所以我认为更好的方法是选择一

如何在我的应用程序中保存此附加列表?它每个月只与webservice连接一次。

额外服务的列表或字典(便于访问)会更灵活

这意味着,当从汽车中添加和/或删除额外功能时,您不必修改
car
类,如果每个功能都明确添加,则必须修改此类功能

有多种方法可以在本地存储列表。你可以序列化到一个文件-纯文本或XML,这会更好,因为你有为你做序列化的类,或者你可以把它保存在本地数据库中。

额外的列表或字典(为了更容易访问)会更灵活

这意味着,当从汽车中添加和/或删除额外功能时,您不必修改
car
类,如果每个功能都明确添加,则必须修改此类功能

有多种方法可以在本地存储列表。您可以序列化到一个文件-纯文本或XML,这会更好,因为您有为您进行序列化的类,或者您可以将其保存在本地数据库中。

个人(鉴于这是主观的),我会使用一个额外的接口(例如IExtra)。我也会选择第二个“选项”,即在汽车类中包含一个额外的列表/字典

如果需要,它们可以像选项1一样公开,只需在列表/字典中查找值。

我个人认为这是主观的,我会使用一个额外的接口(例如IExtra)。我也会选择第二个“选项”,即在汽车类中包含一个额外的列表/字典


如果需要,它们可以像选项1一样公开,只需在列表/字典中查找值。

我会将其存储在
字典中。你不希望同一个临时演员出现不止一次。。。或者至少不止一次地为它们付费:-)

另外,Extra应该是一个接口(或者至少是一个抽象类)


至于存储,您可以将Car类序列化为XML。

我会将其存储在
字典中。你不希望同一个临时演员出现不止一次。。。或者至少不止一次地为它们付费:-)

另外,Extra应该是一个接口(或者至少是一个抽象类)


至于存储,您可以将Car类序列化为XML。

您可以修复一些拼写问题并描述关于保存更多详细信息的最后要求吗?您可以修复一些拼写问题并描述关于保存更多详细信息的最后要求吗?好的,但是如何在我的应用程序中保留此附加列表?它每个月只与webservice连接一次,但是如何在我的应用程序中保存这个额外的列表呢?它每个月只与webservice连接一次,但是如何在我的应用程序中保存这个额外的列表呢?每次仅与webservice连接一次month@phenevo-本地存储列表的方式多种多样。你可以序列化到一个文件,可以是纯文本,也可以是更好的XML,或者你可以把它保存在本地数据库中。好的,但是我的应用程序中如何保存这个额外的列表呢?每次仅与webservice连接一次month@phenevo-本地存储列表的方式多种多样。您可以序列化到一个文件-纯文本或更好的XML,也可以将其保存在本地数据库中。
class Car
{
private List<Extra> _listOfExtras=new List<Extra>

public List<Extra> ListOfExtras
{
...
}
}