Главная / Менеджмент /
Аналитические шаблоны проектирования приложений / Тест 6
Аналитические шаблоны проектирования приложений - тест 6
Упражнение 1:
Номер 1
Поведенческие шаблоны проектирования определяют…
Ответ:
 (1) Необходимость уменьшения количества экземпляров объектов, оперируемых в информационной системе 
 (2) Подход к созданию объекта без увеличения сложности структуры программного обеспечения 
 (3) Общие закономерности связей между объектами, реализующими данные паттерны 
 (4) Необходимость использования функций определенного бизнес объекта, недоступного для модификации 
Номер 2
В поведенческих шаблонах, как и в смежных им структурных шаблонах, в качестве инструмента определения поведения для различных классов используется…
Ответ:
 (1) "Адаптер" 
 (2) "Наследование" 
 (3) "Инкапсуляция" 
 (4) "Полиморфизм" 
Номер 3
"Интерпретатор" (англ. Interpreter) — поведенческий шаблон проектирования…
Ответ:
 (1) Решающий часто встречающуюся, но подверженную изменениям, задачу 
 (2) Решающий уникальную, но подверженную изменениям, задачу 
 (3) Решающий часто встречающуюся, но не подверженную изменениям, задачу 
 (4) Решающий уникальную и не подверженную изменениям, задачу 
Упражнение 2:
Номер 1
Для разработки паттерна "Интерпретатор" потребуются следующие участники…
Ответ:
 (1) Абстрактное выражение 
 (2) Нетерминальное выражение 
 (3) Окружение 
 (4) Контекст 
Номер 2
Когда требуется, чтобы сложный составной объект, предоставлял доступ к своим элементам, не раскрывая их внутреннюю структуру, применяется шаблон
Ответ:
 (1) "Абстрактная фабрика" 
 (2) "Итератор" 
 (3) "Прототип" 
 (4) "Адаптер" 
Номер 3
В качестве основного назначения паттерна "Итератор", следует выделить…
Ответ:
 (1) Предоставляет промежуточному объекту абстрактный интерфейс для конструирования необходимого продукта, за которым может скрыть представление, внутреннюю структуру и процесс сборки самого продукта 
 (2) Определяет свойства создаваемого объекта динамически, во время выполнения 
 (3) Предоставляет способ последовательного доступа ко всем элементам составного объекта, не раскрывая его внутреннего представления 
 (4) Реализует взаимодействие несовместимых интерфейсов, путем предоставления единого устойчивого интерфейса для нескольких компонентов 
Упражнение 3:
Номер 1
Алгоритм реализации шаблона "Итератор", содержит следующие стадии…
Ответ:
 (1) Агрегат определяет интерфейс для создания объекта - итератора 
 (2) Конкретный экземпляр агрегата реализует интерфейс создания итератора и возвращает экземпляр его класса 
 (3) Создается определенный класс (итератор), который определяет интерфейс для доступа и перебора элементов 
 (4) Определяются состояния объекта 
Номер 2
Когда необходимо послать объекту запрос, не зная о том, выполнение какой операции запрошено, и кто будет получателем целесообразно применять шаблон…
Ответ:
 (1) "Итератор" 
 (2) "Команда" 
 (3) "Адаптер" 
 (4) "Фасад" 
Номер 3
При реализации шаблона "Команда" следует обратить внимание на следующие моменты…
Ответ:
 (1) Правильное разделение состояния объекта на внутреннее и внешнее 
 (2) Поддержка отмены и повтора операций 
 (3) Накопление ошибок в процессе отмены 
 (4) Насколько "умной" должна быть команда 
Упражнение 4:
Номер 1
Перечислите задачи, которые можно решить помощью шаблона "Команда".
Ответ:
 (1) Любое приложение c возможностями отмены или повторения действий (undo/redo) пользователя 
 (2) Сетевые распределенные системы использующие запросы в виде объектов в качестве основного примитива инициализации каких-либо операций 
 (3) Системы с поддержкой асинхронных вызовов, инкапсулирующие обратный вызов в виде опроса объекта 
 (4) Уменьшение количества экземпляров объектов, оперируемых в информационной системе 
Номер 2
Шаблон "Наблюдатель" можно охарактеризовать следующими отличительными чертами…
Ответ:
 (1) Он находит широкое применение в системах пользовательского интерфейса, в которых данные и их представления ("виды") отделены друг от друга 
 (2) Шаблон наблюдатель скрывает главный компонент в объект-абстракцию, а изменяемые компоненты в иерархию наблюдателей 
 (3) Отделение реализации компонентов от спецификации их интерфейсов 
 (4) Наблюдатель определяет часть представление в рассмотренном ранее архитектурном шаблоне Model-View-Controller (MVC) 
Номер 3
Для реализации шаблона "Наблюдатель" необходимо…
Ответ:
 (1) Определить интерфейс "Подписки". Это интерфейс должен быть спроектирован оптимальным образом, не слишком большим, но и не слишком специализированным 
 (2) Получить полностью интегрированную систему приложений, работающую с едиными данными в любой момент времени 
 (3) Определить событие/триггер для обновления интерфейса 
 (4) При реализации условленного события оповестить все объекты - подписчики 
Упражнение 5:
Номер 1
В качестве основных достоинств применения шаблона "Наблюдатель" являются…
Ответ:
 (1) Легкость добавления новых примитивных или составных объектов 
 (2) Простота структуры программы 
 (3) Минимальная связанность объекта и наблюдателя 
 (4) Широковещательность оповещения: объект оповещает не конкретного, а всех подписанных на него наблюдателей 
Номер 2
Недостатками шаблона "Наблюдатель" являются…
Ответ:
 (1) Протокол обновления не содержит никаких сведений о том, что изменилось в субъекте - работа наблюдателей при этом усложняется 
 (2) Непредвиденные обновления 
 (3) Затруднено добавление новых классов к системным "элементам", поскольку требуется объявление новой абстрактной операции в классе "Наблюдатель " 
 (4) Приводит к предсказуемому падению производительности 
Номер 3
Главными преимуществами применения паттерна "Посетитель" являются следующие…
Ответ:
 (1) Упрощается добавление новых операций к существующим в системе объектам 
 (2) Оперативная замена функциональных объектов, выполняющих определенную обязанность 
 (3) Скрывает опасные/лишние данные 
 (4) Он объединяет родственные операции в едином классе 
Упражнение 6:
Номер 1
Основным недостатком паттерна "Посетитель" выделяют то, что…
Ответ:
 (1) Затруднено добавление новых классов к системным "элементам", поскольку требуется объявление новой абстрактной операции в классе "Посетитель" 
 (2) Протокол обновления не содержит никаких сведений о том, что изменилось в субъекте - работа наблюдателей при этом усложняется 
 (3) Модули больше не могут взаимодействовать напрямую 
 (4) Нередко происходят непредвиденные обновления 
Номер 2
В том случае, когда необходимо обеспечить взаимодействие множества объектов, сформировав при этом слабую связанность и избавив объекты от необходимости явно ссылаться друг на друга применяется шаблон…
Ответ:
 (1) "Стратегия" 
 (2) "Адаптер" 
 (3) "Посредник" 
 (4) "Хранитель" 
Номер 3
Применение шаблона "Посредник" позволяет…
Ответ:
 (1) Снизить связанность между коллегами 
 (2) Установить высокую связанность между коллегами 
 (3) Упростить внедрение новой функциональности благодаря слабой связанности код 
 (4) Централизовать управление системой 
Упражнение 7:
Номер 1
Недостатками шаблона Посредник являются…
Ответ:
 (1) Протокол обновления не содержит никаких сведений о том, что изменилось в субъекте - работа наблюдателей при этом усложняется 
 (2) Модули больше не могут взаимодействовать напрямую 
 (3) Затруднено добавление новых классов к системным "элементам", поскольку требуется объявление новой абстрактной операции в классе "Посредник" 
 (4) Использование медиатора приводит к предсказуемому падению производительности 
Номер 2
В ситуациях, когда требуется варьировать поведение объекта в зависимости от его внутреннего состояния, используют шаблон проектирования…
Ответ:
 (1) "Состояние" 
 (2) "Стратегия" 
 (3) "Посетитель" 
 (4) "Контроллер" 
Номер 3
В ситуациях, когда класс содержит ряд схожих алгоритмов, как правило, эти алгоритмы приводят к одному и тому же результату, но могут отличаться по другим параметрам. В подобных ситуациях целесообразно использовать шаблон…
Ответ:
 (1) "Состояние" 
 (2) "Стратегия" 
 (3) "Контроллер" 
 (4) "Посетитель" 
Упражнение 8:
Номер 1
К основным преимуществам использования шаблона "Стратегия" следует отнести…
Ответ:
 (1) Скрывает опасные/лишние данные 
 (2) Простота структуры программы 
 (3) Оперативная замена функциональных алгоритмов, выполняющих определенную обязанность 
 (4) Легкость добавления новых примитивных или составных объектов 
Номер 2
Когда необходимо зафиксировать поведение объекта для его последующей реализации применяется шаблон…
Ответ:
 (1) "Состояние" 
 (2) "Контроллер" 
 (3) "Посетитель" 
 (4) "Хранитель" 
Номер 3
Для реализации шаблона "Хранитель", обязательно должны быть определены 3 различных "участника". Укажите их.
Ответ:
 (1) "Пользователь" 
 (2) "Хозяин" 
 (3) "Хранитель" 
 (4) "Смотритель" 
Упражнение 9:
Номер 1
В случаях, когда требуется эффективно, компактно, надежно реализовать обработку потока информации с потенциально большим количеством обработчиков используется шаблон проектирования…
Ответ:
 (1) "Контроллер" 
 (2) "Цепочка обязанностей" 
 (3) "Пользователь" 
 (4) "Посетитель" 
Номер 2
"Цепочка обязанностей" позволяет…
Ответ:
 (1) Упростить структурные взаимосвязи между объектами 
 (2) Избежать частых обновлений 
 (3) Избежать жесткой зависимости отправителя запроса от его получателя 
 (4) Вводит конвейер для запроса с множеством возможных обработчиков 
Номер 3
Когда имеются два разных, но в тоже время очень похожих компонента и требуется внести изменения в оба компонента, избежав при этом вредоносного дублирования кода применяется…
Ответ:
 (1) Аналитический метод 
 (2) Шаблонный метод 
 (3) Интеграционный метод 
 (4) Составной метод 
Упражнение 10:
Номер 1
Укажите какой шаблон решает задачу управления сложностью программного обеспечения за счет регулирования степени зацепления системных классов между собой.
Ответ:
 (1) "Высокое зацепление" 
 (2) "Контроллер" 
 (3) "Пользователь" 
 (4) "Посетитель" 
Номер 2
В условиях, когда система должна отвечать за обработку большого количества входных системных событий целесообразно использовать шаблон…
Ответ:
 (1) "Посетитель" 
 (2) "Контроллер" 
 (3) "Высокое зацепление" 
 (4) "Хранитель" 
Номер 3
Использование принципов полиморфизма позволяет извлечь следующие преимущества…
Ответ:
 (1) Контролируемый доступ к единственному экземпляру 
 (2) Расширение и масштабирование существующей системы не составляет больших трудностей и затрат 
 (3) Простота расширения системы за счет добавления новых вариаций 
 (4) Упрощены структурные взаимосвязи между объектами