41911

WPF приложение с многооконным (MDI) интерфейсом

Лабораторная работа

Информатика, кибернетика и программирование

Часть 1 Необходимо перенести интерфейс редактирования свойств объектов коллекции в отдельное окно. Главное окно приложения должно содержать грид со списком объектов функции открытия сохранения файла коллекции функции удаления объектов из коллекции и вызова окон для редактирования объекта или создания объекта в отдельном окне. При выборе пользователем команды редактирования выделенного объекта в гриде должно появиться отдельное окно для редактирования свойств этого объекта. Должна быть возможность открывать одновременно несколько окон для...

Русский

2013-10-26

19.15 KB

129 чел.

Лабораторная №6. WPF приложение с многооконным (MDI) интерфейсом

Длительность: 8 часов.

Теоретическая часть

Топики для изучения:

  1. Шаблоны обращение контроля (Inversion of Control) и внедрение зависимости (Dependency Injection)
  2. Шаблон «Фабрика» (Factory)

Практическая часть

Используя среду разработки MS Visual Studio 2010 необходимо модифицировать проект, созданный на 5-й л/р, следующим образом.

Часть 1

Необходимо перенести интерфейс редактирования свойств объектов коллекции в отдельное окно. Главное окно приложения должно содержать грид со списком объектов, функции открытия/сохранения файла коллекции, функции удаления объектов из коллекции и вызова окон для редактирования объекта или создания объекта в отдельном окне.

При выборе пользователем команды редактирования выделенного объекта в гриде, должно появиться отдельное окно для редактирования свойств этого объекта. Окно должно быть немодальным, то есть, должна быть возможность переключаться между этим окном и главным окном приложения. Должна быть возможность открывать одновременно несколько окон для редактирования. При попытке редактирования объекта, окно с которым уже открыто, новое окно редактирования не должно создаваться, должно активизироваться уже ранее открытое окно.

При удалении объекта из коллекции ранее открытое окно редактирования этого объекта должно закрываться.

При выборе пользователем команды создания нового объекта, должно появляться окно для редактирования свойств нового объекта. Окно должно отображаться в модальном режиме, то есть, не давать пользователю переключаться на другие окна приложения, пока модальное окно не закрыто. Окно создания нового объекта отличается от окна редактирования наличием кнопок «ОК» и «Отмена», которые, соответственно, подтверждают добавление нового объекта в коллекцию, либо отменяют это действие.

Часть 2

При написании автоматических тестов важно понимать, что автоматическое тестирование графического интерфейса – задача весьма сложная. Поэтому в шаблоне MVVM уровень представления (View) отделён от уровня ViewModel, что позволяет тестировать поведение приложения на уровне ViewModel, не создавая в тестах реальные объекты окон и графических элементов. Если же такое разделение не соблюдается, то тестировать приходится приложение целиком, и, как правило, вручную (что гораздо менее эффективно).

Автоматический тест с использованием поддельной фабрики, создающей диалоговые ViewModel, приведён в примере (см. модуль MainViewModelTest).

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

Бонусное задание за дополнительные баллы:

Написать автоматический тест, который проверит, что при вызове команды удаления объекта, для которого открыта форма для редактирования, эта форма будет закрыта.

Примечание: В практике программирования широкое применение имеют DI-фреймворки (например, Unity, Spring) и фреймворки для написания заглушек к тестовому коду (например, Moq, RhinoMock и др.) Использование этих инструментов очень сильно облегчает написание автоматических (как  модульных, так и интеграционных) тестов.

Требования к коду

При написании кода приложения необходимо придерживаться шаблона MVVM. В частности, не должно быть прямой зависимости классов ViewModel от слоя представления. Динамическое создание пары View-ViewModel лучше выделить в отдельный класс-фабрику (как в примере).

Написанные ранее модульные тесты должны выполняться успешно, либо, при необходимости, быть изменены.


 

А также другие работы, которые могут Вас заинтересовать

33911. Исходное соотношение средней 12.95 KB
  Наиболее распространенной формой статистических показателей используемой в социально экономических явлениях является средняя величина представляющая собой обобщенную количественную характеристику признака в статистической совокупности в конкретных условиях места и времени. средняя арифметическая ; 2. средняя гармоническая; 3. средняя геометрическая; 4.
33912. Средняя геометрическая 12.21 KB
  Средняя геометрическая. Для несгруппированных данных или для сгруппированных данных с равными частотами применяется средняя геометрическая простая:.
33913. Средняя квадратическая и другие степенные средние 11.35 KB
  Для несгруппированных данных: Для сгруппированных данных: Правило мажорантности старшинства состоит в том что при расчете по одним и тем же данным между числовыми значениями средних исчисляется по разным формулам всегда сохраняется неравенство: Хсред. Гармоническая =Хсред. Геометрическая =Хсред. =Хсред квадратическая.
33914. Область применения различных видов степенной средней 10.74 KB
  Средняя арифметическая величина среднее слагаемое поэтому если есть данные по варьированному осредненному признаку известен объем статистической совокупности то применяем арифметическую среднюю. Для вариационного ряда распределения применяется средняя арифметическая взвешенная. Если имеются данные по величине признака на начало каждого периода то применяется средняя хронологическая. Квадратическая средняя используется при расчете средних темпов роста.
33915. Общее понятие о вариации, показатели величины вариации и способы их расчета 13.27 KB
  Общее понятие о вариации показатели величины вариации и способы их расчета. Показатели вариации показатели стабильности позволяют сделать вывод об однородности совокупности о надежности типичности средней. Для измерения величины вариации используется абсолютный и относительный показатель вариации. Размах вариации R=XmxXmin.
33916. Абсолютные показатели вариации 20.12 KB
  Чтобы дать представление о величине варьирующего признака недостаточно исчислить средний показатель. Кроме средней необходим показатель характеризующий вариацию признака. Вариация это изменение значения признака у отдельных единиц совокупности.
33917. Относительные показатели вариации 15.59 KB
  Относительные показатели вариации Для сравнения вариации в разных совокупностях рассчитываются относительные показатели вариации. К ним относятся коэффициент вариации коэффициент осцилляции и линейный коэффициент вариации относительное линейное отклонение. Коэффициент вариации это отношение среднеквадратического отклонения к среднеарифметическому рассчитывается в процентах: . Коэффициент вариации позволяет судить об однородности совокупности: 17 абсолютно однородная; 1733 достаточно однородная; 3540 недостаточно...
33918. Мода. Определение моды в дискретных вариационных рядах 15.34 KB
  Определение моды в вариационных рядах с равными интервалами.6 где x0 нижняя граница модального интервала модальным называется интервал имеющий наибольшую частоту; i величина модального интервала; fMo частота модального интервала; fMo1 частота интервала предшествующего модальному; fMo1 частота интервала следующего за модальным.
33919. Понятие медианы, квартилей, децилей 11.29 KB
  Понятие медианы квартилей децилей Медианазначение признака которое делит стат.совти имеет значение признака не МЕНЬШЕ медианы а другая половина значение признака не больше медианы. Значение изучаемого признака всех ед.совти не четное то значение признака находящееся в середине ранжированного ряда будет являться медианой а если число ед.