Класс моделирования - PullRequest
0 голосов
/ 20 июля 2010

Я пытаюсь смоделировать класс, где ситуация похожа на:

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

Ответы [ 2 ]

2 голосов
/ 20 июля 2010

Посмотрите на подход рефакторинга М. Фаулера Инкапсулированная коллекция

Также обратите внимание, что в свойствах get возвращается коллекция только для чтения:

public List<Gratis> Gratises

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

1 голос
/ 20 июля 2010

Выглядит неплохо, 2 соображения:

  1. Почему _gratises публично?он доступен через Gratises, вероятно, он должен быть закрытым

  2. Вы не возражаете, если кто-то полностью заменит список "безвозмездно"?Если вы это сделаете, я бы удалил установщик и добавил бы методы AddGratis(Gratis) и RemoveGratis(Gratis), которые прокси, к базовому списку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...