模特班

发布于 2024-09-10 10:08:20 字数 582 浏览 5 评论 0原文

我尝试对情况类似的类进行建模:

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

在一个地方用户管理免费列表。他可以添加、删除或编辑免费内容。

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

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

我的模型还好吗?

如果是,如何实施?

我有 datagridview 和:

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

或者也许添加 IsChecked 字段?

Sql Server 2005.asmx 和 WinForms

I try to model class where situation is similar to:

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

In one place user manages list of gratises. He can Add, Remove, or Edit gratises.

In second module user can manages cars:

He can add or remove gratis to car.

Is my model ok ?

If is, how implement this?

I have datagridview and:

get list of gratis from database, and next get a list of gratis of car ?

Or maybe add IsChecked field ?

Sql Server 2005. asmx, and WinForms

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

月棠 2024-09-17 10:08:20

查看 M.Fowler 重构方法 封装集合

另请注意,在 get 属性中返回 read-唯一的集合:

public List<Gratis> Gratises

{
获取 { 返回 _gratises.AsReadOnly(); }
}

Look at M.Fowler refactoring approach Encapsulate Collection

Also note that in get properties return read-only collection:

public List<Gratis> Gratises

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

秋叶绚丽 2024-09-17 10:08:20

看起来不错,有 2 个考虑因素:

  1. 为什么 _gratises 是公开的?这是
    通过 Gratises 访问,它
    可能应该是私有的

  2. 你介意有人替换吗
    “免费”清单的全部内容?如果
    如果你这样做,我会删除设置器
    并添加 AddGratis(Gratis)
    代理的 RemoveGratis(Gratis) 方法
    底层列表。

It looks pretty good, 2 considerations:

  1. Why is _gratises public? it is
    accessible through Gratises, it
    should probably be private

  2. Do you mind if someone replaces the
    "gratises" list in its entirety? If
    you do, I would remove the setter
    and add AddGratis(Gratis) and
    RemoveGratis(Gratis) methods that proxy to
    the underlying List.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文