Вот особая проблема, с которой я сталкиваюсь при создании объектов, таких как коллекции, которые должны быть доступны во всей области приложения.
У меня есть следующий класс:
class UserDataCollection
{
List<UserData> Collection = new List<UserData>();
UserData current;
public UserData Current
{
get { return current; }
set
{
current = value;
}
}
public UserDataCollection( UserData userdata )
{
this.current = userdata;
}
public void Add ( UserData item )
{
Collection.Add(item);
}
}
Теперь для каждого объекта UserData, который я хочу добавить, он будет создавать новый объект List каждый раз, когда я иду UserDataCollection datacoll = new UserDataCollection(userdata);
Таким образом, мои объекты никогда не будут добавлены в одну коллекцию, что не является целью этой коллекции.
Это тогда хороший случай синглтона или просто создать объект в Application Init и использовать один и тот же объект повсюду?
Какая лучшая практика проектирования для чего-то подобного?