建模类

时间:2010-07-20 06:32:04

标签: c# modeling

我尝试模拟类似于以下情况的类:

public class Car
{
private List<Gratis> _gratises=new List<Gratis>();

public List<Gratis> Gratises
  {
          get { return _gratises; }
          set { _gratises= value; }
       }

public class Gratis
{
public string Name {get;set;}

public int ID {get;set;}
}

在一个地方用户管理gratises列表。他可以添加,删除或编辑gratises。

在第二个模块中,用户可以管理汽车:

他可以免费添加或删除汽车。

我的模特好吗?

如果是,如何实现这个?

我有datagridview和:

从数据库中获取免费列表,然后获取免费汽车列表?

或者可能添加IsChecked字段?

Sql Server 2005.asmx和WinForms

2 个答案:

答案 0 :(得分:2)

请看M.Fowler重构方法Encapsulate Collection

另请注意,在get属性中返回只读集合:

public List<Gratis> Gratises

{   get {return _gratises.AsReadOnly(); } }

答案 1 :(得分:1)

看起来很不错,2个注意事项:

  1. 为什么_gratises公开?它是 它可以通过Gratises访问 应该是私人的

  2. 你介意有人替换了 “gratises”列表完整?如果 你这样做,我会删除二传手 并添加AddGratis(Gratis)和 代理的RemoveGratis(Gratis)方法 基础清单。