Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lectures.docx
Скачиваний:
57
Добавлен:
10.12.2018
Размер:
1.24 Mб
Скачать

Специфічні проблеми дизайну рівня представлення

Існує декілька поширених проблем, які виникають при розробці рівня пред- ставлення. Ці проблеми класифікуються по областях проектування в яких вони виникають:

  1. Кешування

  2. Комунікації

  3. Композиція

  4. Управління виключеннями

  5. Навігація

  6. User Experience

  7. Інтерфейс користувача

  8. Перевірка даних(Validation ), що вводяться

Кешування

Кешування - один з основних механізмів, які застосовуються для збільшення продуктивності застосування зменшення часу взаємодії з інтерфейсом кори- стувача. Кешування даних може використовуватися для оптимізації пошуку в даних і зменшення взаємодії по мережі, а також проміжного збереження ре- зультатів трудомістких процесів, що повторюються, щоб уникнути їх дублю- вання. При визначенні стратегії кешування повинно враховуватися наступне:

  1. Виберіть місце зберігання кешу : наприклад на диску або в пам'яті

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

  3. Не кешуйте незашифровані конфіденційні дані.

  4. Не покладайтеся на кешовані дані, вони можуть бути видалені. Також не забувайте, що кешовані дані можуть застарівати. Наприклад, викори- стання кешованих даних неприпустимо при виконанні комерційних операцій, для яких вимагається витягати найсвіжіші дані.

  5. Потурбуйтеся про права доступу до кешованих даних. У разі можливо- сті доступу до даних користувачів, що виконують різні ролі, кешуйте тільки ті дані, для яких можете застосувати відповідну авторизацію.

Комунікації

Обробка тривалих запитів повинна реалізовуватися з урахуванням часу від- гуку користувача, а також зручності обслуговування і тестируемости коду. При проектуванні обробки запитів керуйтеся наступними рекомендаціями:

  • Використайте асинхронні операції або фонові потоки, щоб уникнути блокування UI при виконанні тривалих дій в застосуваннях Windows Forms і WPF. Застосовуйте AJAX для здійснення асинхронних запитів в ASP.NET. Забезпечуйте користувачеві зворотний зв'язок про хід виконан- ня процесу для тривалих операцій. Надайте користувачеві можливість ві- дмінити тривалу операцію.

  • Уникайте змішення логіки обробки UI і формування візуального пред- ставлення.

  • При виконанні ресурсоємних викликів до видалених ресурсів або ша- рів, таких як виклик Веб-сервісів або запит до бази даних, проведіть ана- ліз, можливо, буде доцільним робити ці запити до сервісу з деталізованим інтерфейсом(багато дрібних запитів) або з узагальненим інтерфей- сом(один великий запит). Якщо користувач просить великі об'єми даних для виконання операції, насамперед витягайте лише те, що необхідно для відображення і початку роботи, а потім поступово довантажуйте дані у фоновому потоці або в міру необхідності(прикладами такого підходу є ро- зділення даних на сторінки і віртуалізація UI). Використайте масштабніші виклики до узагальненого сервісу, коли користувачеві немає необхідності чекати завершення виклику.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]