Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
05-Smart Client Software Factory.docx
Скачиваний:
4
Добавлен:
28.07.2019
Размер:
428.95 Кб
Скачать
  1. Содержание отчета

  1. Номер и название лабораторной работы, номер группы и ФИО студента.

  2. Цель работы.

  3. Постановка задачи.

  4. Краткие теоретические сведения об архитектуре и возможностях шаблона SCSF.

  5. Фрагменты текста программы, содержащие:

    1. Интерфейс IDatabase службы доступа к данным модуля Database;

    2. Реализацию методов этого интерфейса.

  6. Анализ результатов и выводы.

  1. Краткие теоретические сведения

Список терминов:

  • Workspace. A component that encapsulates a particular visual layout of controls, such as within tabbed pages.

  • WorkItem. A run-time container for components (SmartParts, controllers, services, UIElements, and child WorkItems) that work together to fulfill a use case.

  • Business module. Represents the conventional Composite UI Application Block module. It has at least one WorkItem (specifically, a ControlledWorkItem) and contains business logic elements (views, presenters, business entities, and services).

  • Foundational module. A module that either provides services to the shell and other modules, provides a layout, or both. It does not implement a use case or contain a WorkItem.

  • Commands. The Composite UI Application Block uses the concept of commands to enable you to write one event handler that is associated with more than one UIElement, and associate one UIElement with multiple command handlers.

  • Composite UI Application Block service. Тhe name for an object that provides functionality to other components. Typically you do not write extensive business logic in the presenter; instead, you delegate it to other components named services. This approach lets you consume the business logic encapsulated in services from other presenters and facilitates testing because you can test the presentation logic and the business logic separately.

  1. Контрольные вопросы

  1. Каковы основные свойства composite smart client applications (Рис. 1)?

Рис. 1. Composite smart client application.

  1. Каково назначение следующих типов модулей: business module, foundational module? Из каких элементов состоит business module? Из каких элементов состоит foundational module?

  2. Поясните работу паттерна Model-View-Presenter (MVP) (Рис. 2). Каким образом происходит связывание view и presenter? Как view сообщает presenter об окончании своей загрузки и готовности к работе?

Рис. 2. MVP паттерн.

  1. Поясните механизм добавления новых View в shell окно (Рис. 3). Какие три класса создает SCSF при генерации нового View в модуле?

Рис. 3. Добавление нового View.

  1. Каково назначение интерфейса ISmartPartInfoProvider?

  2. Поясните процесс разработки приложений с использованием SCSF (Рис. 4).

Рис. 4. Создание приложения в SCSF.

  1. Из каких базовых компонентов (проектов) состоит приложение, основанное на Smart Client Software Factory? Каково назначение каждого компонента?

  2. Для чего используются компоненты пользовательского интерфейса Workspace? Поясните назначение каждого из типов Workspace: WindowWorkspace, MdiWorkspace, TabWorkspace, DeckWorkspace, ZoneWorkspace. Как зарегистрировать новый Workspace?

  3. Поясните архитектуру и принцип работы shell приложения (Рис. 5). Как зарегистрировать новый UIExtensionSite? Как добавить кнопку запуска модуля в существующий UIExtensionSite? Как ассоциировать команду с обработчиком нажатия добавленной кнопки?

Рис. 5. Архитектура shell приложения.

  1. Поясните работу паттерна Dependency Injection (Рис. 6).

Рис. 6. Паттерн Dependency Injection.

  1. Что такое Composite UI Application Block service? Как создать и зарегистрировать Composite UI Application Block service? Как воспользоваться Composite UI Application Block service модуля, используя паттерн dependency injection?

  2. Что такое entity translation (Рис. 7)? Зачем и когда используется entity translation? Что такое entity translators?

Рис. 7. Entity translation.

  1. Что такое unit testing? Зачем используется unit testing?

  2. Что называется global service?

  3. С какой целью разрабатываемое приложение разбивается на отдельные модули (Рис. 8)? Как в SCSF происходит загрузка и инициализация модулей?

Рис. 8. Разграничение сфер ответственности при разработке Composite UI приложения.

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