Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Method-2.doc
Скачиваний:
1
Добавлен:
11.11.2018
Размер:
417.28 Кб
Скачать

Завдання

  1. Повторити шаблони, що породжують. Знати загальну характеристику шаблонів, що породжують та призначення кожного з них.

  2. Детально вивчити шаблони, що породжують - Abstract Factory та Builder. Для кожного з них:

  • вивчити Шаблон, його призначення, альтернативні назви, мотивацію, випадки коли його застосування є доцільним та результати такого застосування;

  • знати особливості реалізації Шаблону, споріднені шаблони, відомі випадки його застосування в програмних додатках;

  • вільно володіти структурою Шаблону, призначенням його класів та відносинами між ними;

  • вміти розпізнавати Шаблон в UML діаграмі класів та будувати сирцеві коди Java-класів, що реалізують шаблон.

  1. В підготованому проекті (ЛР1) створити програмний пакет com.lab111.labwork9. В пакеті розробити інтерфейси і класи, що реалізують завдання (згідно варіанту) з застосуванням одного чи декількох шаблонів (п.2). В розроблюваних класах повністю реалізувати методи, пов'язані з функціюванням Шаблону. Методи, що реалізують бізнес-логіку закрити заглушками з виводом на консоль інформації про викликаний метод та його аргументи.

  2. За допомогою автоматизованих засобів виконати повне документування розроблених класів (також методів і полів), при цьому документація має в достатній мірі висвітлювати роль певного класу в загальній структурі Шаблону та особливості конкретної реалізації.

Варіанти завдання

Номер варіанту завдання обчислюється як залишок від ділення номеру залікової книжки на 11.

  1. Визначити специфікації класів для подання сімейства віджетів графічного інтерфейсу користувача з реалізацією на різних API (WinAPI, GTK). Забезпечити можливість прозорого для клієнта розширення реалізацією для інших API (Qt, OSX).

  2. Визначити специфікації класів для подання сімейства інструментів роботи з об'єктними даними через різні API (DB, File). Забезпечити можливість прозорого для клієнта розширення реалізацією для інших API (WebService).

  3. Визначити специфікації класів для подання сімейства інструментів універсального інтерактивного середовища розробки (Validator, Compiler, Debugger) з їх реалізацією для різних мов (Java, C++). Забезпечити можливість прозорого для клієнта розширення реалізацією для мов (ObjectPascal).

  4. Визначити специфікації класів для прямокутного ігрового простору та завантажувача його конфігурації із зовнішнього файлу.

  5. Визначити специфікації класів для подання блок-схем алгоритмів (у відповідності до семантичної діаграми)

Рис.16. Семантична діаграма блок-схем алгоритмів

та її завантажувача із зовнішнього файлу.

  1. Визначити специфікації класів для будівника дерева розбору складного виразу (у відповідності до БНФ) на основі його символьного подання.

<вираз>::=<простий вираз> | <складний вираз>

<простий вираз>::=<константа> | <змінна>

<константа>::=(<число>)

<змінна>::=(<ім’я>)

<складний вираз>::=(<вираз><знак операції><вираз>)

<знак операції>::=+|-|*|/

  1. Визначити специфікації класів для подання запису, реляційної таблиці та її завантажувача із зовнішнього файлу.

  2. Визначити специфікації класів для подання реляційної таблиці та будівника прямого добутку таблиць.

  3. Визначити специфікації класів для подання реляційної таблиці та будівника проекції таблиць.

  4. Визначити специфікації класів для подання реляційної таблиці, схеми бази даних та відповідного завантажувача. Забезпечити можливість створення тільки одного примірника схеми бази даних.

  5. Визначити специфікації класів для подання елементів векторного графічного редактору (примітив і композит). Реалізувати можливість побудови композитного зображення на основі завантаженого файлу-специфікації.

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