Вопрос о том, когда и когда не следует поднимать события (C#)
Я программирую библиотеку мгновенных сообщений для MSN Messenger, и у меня есть простой вопрос о создании событий.
При входе в систему я должен вызывать UserAdded для каждого синхронизируемого пользователя (уже в списке контактов), или должно быть зарезервировано событие UserAdded, когда новый пользователь был добавлен в список контактов с помощью метода AddUser? Должен ли я использовать другое событие, UserDownloaded для, когда пользователь загружается?
Точно так же, когда я вызываю выход из системы, я должен вызвать UserRemoved?
Я надеюсь это имеет смысл.
Спасибо
1 ответ
Это более общий вопрос разработки, и он может зависеть от вашего конкретного случая - например, что вы планируете использовать события? Какая информация нужна пользователю библиотеки?
Я думаю, что инициирование события, когда пользователь добавляется из любого источника (как локально, так и при загрузке нового пользователя), более полезно, потому что вы можете использовать событие как уведомление о том, когда вам нужно обновить список пользователей (для пример). Событие также может нести YourEventArgs
информация, которая будет содержать информацию об источнике (локальный или загруженный).
Инициирование события при вызове какого-либо метода может быть не таким полезным (если метод вызывается пользователем библиотеки), потому что пользователь библиотеки, вероятно, будет знать, что он вызывает метод (поэтому ему не нужно об этом уведомили).