[Обозвать] Коллекция, элементы ссылаются на контейнер
От: Sinix  
Дата: 05.05.10 08:00
Оценка:
А как бы вы обозвали collection base-класс, автоматически связывающий добавляемые элементы с каким-то контейнером?
Временное был обозван MappedCollectionBase. Binded использовать не хочется — binding в фреймворке имеет слегка другой смысл. Есть варианты получше?

Очень упрощённо (без проверок и отвязки):
  Скрытый текст

  public abstract class XxxCollectionBase<TContainer, TItem>: Collection<TItem>
  {
    public TContainer Container
    {
      get;
      set;
    }

    protected abstract void SetContainer(TItem item, TContainer container);

    protected override void InsertItem(int index, TItem item)
    {
      base.InsertItem(index, item);
      SetContainer(item, this.Container);
    }
  }

  public class Container
  {
    public class ItemsCollection: XxxCollectionBase<Container, Item>
    {
      protected override void SetContainer(Item item, Container container)
      {
        item.Container = container;
      }
    }

    private readonly ItemsCollection items;

    public Container()
    {
      items = new ItemsCollection()
      {
        Container = this
      };
    }

    public ItemsCollection Items
    {
      get
      {
        return items;
      }
    }
  }

  public class Item
  {
    public Container Container
    {
      get;
      set;
    }
  }
Re: [Обозвать] Коллекция, элементы ссылаются на контейнер
От: Donz Россия http://donz-ru.livejournal.com
Дата: 05.05.10 10:45
Оценка:
Здравствуйте, Sinix, Вы писали:

S>А как бы вы обозвали collection base-класс, автоматически связывающий добавляемые элементы с каким-то контейнером?

S>Временное был обозван MappedCollectionBase. Binded использовать не хочется — binding в фреймворке имеет слегка другой смысл. Есть варианты получше?

ContainerAutoLinkedCollection? Или AutoLinkedCollection?

ИМХО, в таких случаях необязательно полностью отражать сущность класса в названии, потому что читабельность и тем более написабельность становится хуже из-за перебора с количеством символов.
Re[2]: [Обозвать] Коллекция, элементы ссылаются на контейнер
От: Sinix  
Дата: 05.05.10 11:20
Оценка:
Здравствуйте, Donz, Вы писали:

D>ИМХО, в таких случаях необязательно полностью отражать сущность класса в названии, потому что читабельность и тем более написабельность становится хуже из-за перебора с количеством символов.

Класс-то в публичном API (библиотечка компонентов), назначение с первого взгляда должно быть понятно.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.