Re: Оптимизация. Использование статических объектов propertychan
От: xy012111  
Дата: 18.05.15 20:20
Оценка:
Здравствуйте, c004, Вы писали:

C>1.

C>Кто-нибудь задавался вопросом , есть ли смысл использования …
C>Пару раз я делал так
C>static readonly PropertyChangedEventArgs __propname__  = PropertyResolver.Resolve( __propname__ )

C>PropertyResolver — простой threadsafe словарь

Нормально в варианте со словарём, но смысла не имеет: в обычных сценариях этот объект (PropertyChangedEventArgs) создаётся не так часто, что бы имело смысл его кешировать. Что-то где-то у вас изменилось, сообщили об этом. Если поменялось сразу много — выставили имя свойства в пустую строку. То есть, одновременно много таких объектов не живут. Прикиньте, при активной работе — сколько экземпляров в сукунду будет создаваться? один-два? Вряд ли и микроскопом можно будет заметить. Лучше боритесь активно с боксингом, замыканиями и т.п.

С пустым именем создавал такой глобальный объект, но не столько ради экономии памяти, сколько для сокращения набора текста и овышения читабельности. В результате на 100% не уверен :о)
public static readonly PropertyChangedEventArgs Empty { get; } = new PropertyChangedEventArgs(String.Empty);
…
OnPropertyChanged(new PropertyChangedEventArgs(String.Empty));
// vs
OnPropertyChanged(PropertyChanged.Empty);
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.