Вопрос о том, когда и когда не следует поднимать события (C#)

Я программирую библиотеку мгновенных сообщений для MSN Messenger, и у меня есть простой вопрос о создании событий.

При входе в систему я должен вызывать UserAdded для каждого синхронизируемого пользователя (уже в списке контактов), или должно быть зарезервировано событие UserAdded, когда новый пользователь был добавлен в список контактов с помощью метода AddUser? Должен ли я использовать другое событие, UserDownloaded для, когда пользователь загружается?

Точно так же, когда я вызываю выход из системы, я должен вызвать UserRemoved?

Я надеюсь это имеет смысл.

Спасибо

1 ответ

Решение

Это более общий вопрос разработки, и он может зависеть от вашего конкретного случая - например, что вы планируете использовать события? Какая информация нужна пользователю библиотеки?

Я думаю, что инициирование события, когда пользователь добавляется из любого источника (как локально, так и при загрузке нового пользователя), более полезно, потому что вы можете использовать событие как уведомление о том, когда вам нужно обновить список пользователей (для пример). Событие также может нести YourEventArgs информация, которая будет содержать информацию об источнике (локальный или загруженный).

Инициирование события при вызове какого-либо метода может быть не таким полезным (если метод вызывается пользователем библиотеки), потому что пользователь библиотеки, вероятно, будет знать, что он вызывает метод (поэтому ему не нужно об этом уведомили).

Другие вопросы по тегам