2013-03-12 2 views
2

Каков обычный способ обновления пользовательского интерфейса из потока?Обновление ярлыка на пользовательском интерфейсе из-за темы

Например, у меня есть метод внутри класса, который обрабатывает логин пользователей. В рамках этого метода я хотел бы предоставить обратную связь пользователю на разных этапах процессов входа в систему в виде метки в пользовательском интерфейсе (основной поток).

public void userLogin(User _user) 
{ 
    // 1. Navigate to site.com 
    // 2. Update label on UI 
    // 3. Attempt login 
    // 4. Update label on UI 
    // 5. Check login status 
    // 6. Update label on UI 
} 

Я не хочу, чтобы включить код для обновления пользовательского интерфейса в рамках метода, потому что сам класс используется в других проектах, а также другими членами команды на различных проектах. В некоторых проектах вместо обновления ярлыка в пользовательском интерфейсе я могу решить сохранить его в файле журнала для отладки. Я не хочу создавать какие-либо формы сцепления.

Какое оптимальное решение? Произошли ли события?

КПП. Я использую .NET 4.5 и C# 5.

ответ

2

Я бы сказал, что следующий observer pattern и использование мероприятия будет вашим лучшим выбором. Это действительно то, для чего они предназначены.

Паттерн Наблюдатель является разработка программного обеспечения шаблоном, в котором объект, называется субъектом, поддерживает список своих иждивенцев, называемый наблюдатель, и уведомляет их автоматически какие-либо изменения состояния, обычно, позвонив по одному из их методов.

+0

Ах, вот что я искал. Я думал об этой схеме несколько дней назад и не мог вспомнить ее имя. Спасибо. –