Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Модальные диалоговые окна в model-view-presenter, Вопрос 
:(
    Опции темы
vovogege
Дата 28.7.2011, 13:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 16.6.2011

Репутация: нет
Всего: нет



Использовать ли блокировку при открытии модальных диалоговых окон или нет. Просто при использовании блокировки не очень удобно писать тесты. Как лучше к этому подойти? smile 
PM MAIL   Вверх
Суровый
Дата 29.7.2011, 09:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 40
Регистрация: 30.4.2009

Репутация: 1
Всего: 2



Если под блокировкой имеется ввиду невозможность воздействовать на элементы управления материнской формы, то отвечу следующее:
разрабатывайте архитектуру своего приложения исходя из логики его работы, а не исходя из удобства написания тестов.

Это сообщение отредактировал(а) Суровый - 29.7.2011, 10:21
PM MAIL   Вверх
vovogege
Дата 30.7.2011, 09:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 16.6.2011

Репутация: нет
Всего: нет



Вас понял, спасибо за совет. smile 
PM MAIL   Вверх
vovogege
Дата 31.7.2011, 09:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 16.6.2011

Репутация: нет
Всего: нет



Всё таки остановился на варианте без блокировки при показе диалогового окна. Диалогов будет много, один диалог может открывать другие диалоги, а те в свою очередь свои.
Получается где-то так:
Код

  /// <summary>
    /// Интерфейс экрана
    /// </summary>
    public interface IScreen{

        /// <summary>
        /// Заголовок
        /// </summary>
        string Title{set;}

        /// <summary>
        /// Фалг видимости
        /// </summary>
        bool IsVisible{set;}

        /// <summary>
        /// Событие закрытия экрана
        /// </summary>
        event EventHandler Close;
    }


Код

 /// <summary>
    /// Экран главной формы
    /// </summary>
    public interface IMainScreen:IScreen{
        
    }


Код

 /// <summary>
    /// Вид экрана с вопросом к пользователю
    /// </summary>
    public interface IQuestionScreen:IScreen{

        /// <summary>
        /// Вопрос к пользователю
        /// </summary>
        string Question{set;}

        /// <summary>
        /// Выбор пользователя
        /// </summary>
        DialogResult Result{get;}
    }


Код

 /// <summary>
    /// Предоставляет доступ к экранам
    /// </summary>
    public interface IMultiScreen{

        IMainScreen MainScreen{get;}

        IQuestionScreen QuestionScreen{get;}
    }


То есть установка свойства экрана IsVisible=true не будет приводить к блокировке потока до закрытия экрана. Presenter сам будет устанавливать видимость экранов, реагируя на события. smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.1148 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.