
- •1. Основні терміни технології програмування
- •2. Класифікація програмного забезпечення
- •Поняття життєвого циклу розробки програмного забезпечення.
- •Етапи розробки
- •Базові моделі розробки програмних продуктів.
- •Вимоги до методології та технології розробки пп
- •Каскадна модель
- •3. Модель прототипування програмного продукту
- •4. Спіральна модель
- •5. Модель rad
- •6. Модель екстремального програмування (xp)
- •7. Модель msf (Microsoft Solutions Framework)
- •Принципи й види налагодження.
- •Аксіоми налагодження.
- •Автономне налагодження модуля.
- •Комплексне налагодження програмного засобу.
- •Інструменти розробки програмних засобів.
- •Інструментальні середовища розробки й супроводу програмних засобів.
- •Інструментальні середовища програмування.
- •Поняття комп'ютерної технології розробки програмних засобів і її робочі місця.
- •Інструментальні системи технології програмування.
- •Приклад реалізації класу Log.
- •Розробка програмного продукту з двома потоками
- •Визначення крапок контролю програмного продукту.
- •Визначення кількості викликів
- •Визначення ступеня покриття
- •Фундаментальні проблеми профілювання.
- •Причини рефакторингу
- •Підстави для проведення рефакторингу
- •Прийоми рефакторингу
- •Автоматизований рефакторинг
- •1. Принципи повторного використання елементів програм
- •2. Створення шаблонів форм у вигляді файлів
- •3. Використання шаблонів форм у новому проекті
- •4. Збереження шаблонів форм в депозитарії
- •5. Використання шаблонів форм із депозитарію
- •Шаблони класів на мові програмування с#.
- •Приклади шаблонів (класів шаблонів).
- •1. Використання підпрограм в оброблювачах подій
- •2. Звертання до активного компонента не за ім’ям
- •2. Обробка групи компонентів
- •4. Обробка компонентів як масиву
- •5. Сортування даних у компонентах
- •1. Принципи модульного програмування
- •2. Принцип «приховання даних»
- •3. Поняття модуля в Object Pascal
- •4. Структура модульного файлу
- •5. Створення модуля в Object Pascal
- •6. Створення модуля з переліком стандартних діалогів
- •7. Використання текстових констант у модулях
- •8. Створення підпрограм для обробки компонентів
- •1. Поняття dll
- •2. Створення dll бібліотеки в Delphi
- •3. Внесення форм в dll
- •4. Використання dll бібліотеки
- •Питання для самоконтролю
- •Використання регулярних виразів у програмах.
- •1. Призначення зовнішніх компонентів
- •2. Установка й видалення зовнішніх компонентів
- •3. Установка й видалення бібліотек компонентів
- •4. Запуск зовнішніх програм і файлів
- •Питання для самоконтролю
- •1. Загальні принципи технології com
- •2. Робота з com-сервером Microsoft Word
- •Робота з документами в Microsoft Word
- •Використання шаблону для формування документів
- •Робота з таблицями
- •Вставка малюнків і їх форматування
- •1. Операції з Com-Сервером Microsoft Excel
- •Робота із книгами в Microsoft Excel
- •Робота з аркушами книги в Microsoft Excel
- •Використання шаблону для формування книги
- •Формування таблиці
- •6. Форматування чарунок
- •Види довідкових систем
- •Інші засоби підтримки користувача
- •2.Формати довідників
- •3.Створення довідки у форматі html Help
- •4.Створення контекстної довідки
- •5.Інтеграція довідкового файлу в додаток
- •Перелік шаблонів, що породжують
- •Перелік структурних шаблонів
- •Перелік шаблонів поведінки
- •Призначення патерну Singleton
- •Реалізація патерну Singleton
- •Результати застосування патерну Singleton
- •Призначення патерна Observer
- •Постановка проблеми, що вирішується за допомогою патерна
- •Структура патерна Observer
- •Приклад патерна Observer
- •Реалізація патерна Observer
- •Реалізація патерну Observer: до та після
- •Призначення патерну Strategy
- •Опис патерну Strategy
- •Реалізація патерну Strategy
- •Призначення патерна Factory Method
- •Опис патерну Factory Method
- •Реалізація патерна Factory Method
Перелік шаблонів, що породжують
Абстрактна фабрика (Abstract Factory)
Будівник (Builder)
Одинак (Singleton)
Прототип (Prototype)
Фабричний метод (Factory Method)
Отримання ресурсу є ініціалізація (Resource Acquisition Is Initialization)
Відкладена ініціалізація (Lazy initialization)
Пул об'єктів (Object pool)
Мультитон (Multiton pattern)
Структурні шаблони (англ. structural patterns) — шаблони проектування, у яких розглядається питання про те, як із класів та об'єктів утворюються більші за розмірами структури.
Структурні шаблони рівня класу використовують успадкування для утворення композицій із інтерфейсів та реалізацій.
Структурні шаблони рівня об'єкта компонують об'єкти для отримання нової функціональності. Додаткова гнучкість у цьому разі пов'язана з можливістю змінювати композицію об'єктів під час виконання, що є неприпустимим для статичної композиції класів.
Перелік структурних шаблонів
Адаптер (Adapter)
Декоратор (Decorator)
Замісник (Proxy)
Компонувальник (Composite)
Міст (Bridge)
Легковаговик (Flyweight)
Фасад (Facade)
Точка входу (Front controller)
Модуль
Шаблони поведінки (англ. behavioral patterns) — шаблони проектування, що пов'язані з алгоритмами та розподілом обов'язків поміж об'єктів. Мова в них йде не тільки про самі об'єкти та класи, але й про типові способи їхньої взаємодії. Шаблони поведінки характеризують складний потік керування, котрий досить важко прослідкувати під час виконання програми. Увага акцентована не на потоці керування, а на зв'язках між об'єктами.
У шаблонах поведінки рівня класу використовується спадкування — щоб розподілити поведінку поміж різних класів.
У шаблонах поведінки рівня об'єкта використовується композиція. Деякі з них описують, як за допомогою кооперації багато рівноправних об'єктів пораються із завданням, котре жодному з них не під силу. Тут є важливим те, як об'єкти отримують інформацію про існування один одного. Об'єкти-колеги можуть зберігати посилання один на одного, але це посилює ступінь зв'язаності системи. За максимального рівня зв'язаності кожному об'єкту довелось би мати інформацію про всі інші. Деякі з наведених шаблонів вирішують цю проблему.
Перелік шаблонів поведінки
Відвідувач (Visitor)
Інтерпретатор (Interpreter)
Ітератор (Iterator)
Команда (Command)
Ланцюг обов'язків (Chain of Responsibility)
Посередник (Mediator)
Спостерігач (Observer)
Стан (State)
Стратегія (Strategy)
Знімок (Memento)
Шаблонний метод (Template Method)
Каталог патернів проектування. Зведена таблиця.
Нижче наведена таблиця патернів за абеткою.
Оригінальна назва |
Українська назва |
Тип патерну |
Короткий опис |
Abstarct Factory |
Абстрактна фабрика |
Твірний |
Створює сімейство взаємопов'язаних об'єктів |
Adapter |
Адаптер |
Структурний |
Перетворює інтерфейс існуючого класу до виду, придатному для використання |
Bridge |
Міст |
Структурний |
Робить абстракцію та реалізацію незалежними один від одного |
Builder |
Будівельник |
Твірний |
Поетапне створення складного об'єкта |
Chain of Responsibility |
Ланцюг зобов’язань |
Поведінки |
Надає спосіб передачі запиту по ланцюжку одержувачів |
Command |
Команда |
Поведінки |
Інкапсулює запит у вигляді об'єкта |
Composite |
Компоновщик |
Структурний |
Групує схожі об'єкти в деревовидні структури |
Decorator |
Декоратор |
Структурний |
Динамічно додає об'єкту нову функціональність |
Facade |
Фасад |
Структурний |
Надає уніфікований інтерфейс замість набору інтерфейсів деякої системи |
Factory Method |
Фабричний метод |
Твірний |
Визначає інтерфейс для створення об'єкта, при цьому його тип визначається підкласами |
Flyweight |
Пристосуванець |
Структурний |
Використовує поділ для підтримки безлічі дрібних об'єктів |
Interpreter |
Інтерпретатор |
Поведінки |
Для мови визначає її граматику і інтепретатор, що використовує цю граматику |
Iterator |
Ітератор |
Поведінки |
Надає механізм обходу елементів колекції |
Mediator |
Посередник |
Поведінки |
Інкапсулює взаємодія між безліччю об'єктів в об'єкт-посередник |
Memento |
Зберігач |
Поведінки |
Зберігає і відновлює стан об'єкта |
Object Pool |
Пул об’єктів |
Твірний |
Створення "витратних" об'єктів за рахунок їх багаторазового використання |
Observer |
Спостерігач |
Поведінки |
При зміні об'єкта сповіщає всіх залежні об'єкти для їх оновлення |
Prototype |
Прототип |
Твірний |
Створення об'єктів на основі прототипів |
Proxy |
Заступник |
Структурний |
Підміняє інший об'єкт для контролю доступу до нього |
Singleton |
Одинак |
Твірний |
Створює єдиний екземпляр деякого класу і надає до нього доступ |
State |
Стан |
Поведінки |
Змінює поведінку об'єкта при зміні його стану |
Strategy |
Стратегія |
Поведінки |
Переносить алгоритми в окрему ієрархію класів, роблячи їх взаємозамінними |
Template Method |
Шаблоний метод |
Поведінки |
Визначає кроки алгоритму, дозволяючи підкласам змінити деякі з них |
Visitor |
Відвідувач |
Поведінки |
Визначає нову операцію в класі без його зміни |
Питання для самоконтролю
Поняття патерну та цого призначення у програмуванні
Класифікація патернів
Твірний патерн, його призначення та функціцї.
Структурні патерні, їх признаяення.
Патерни поведінки, їх призначення та характеристики.
Лекція №20
Тема: Singleton, його призначення та реалізація у програмах.
Мета: Придбання знань з патерного конструювання програмних продуктів. Вивчити патерн Singleton, та навчитися його використовувати при розробці програм.
Перелік питань, що розглядаються на лекції:
Призначення патерну Singleton.
Реалізація патерну Singleton.
Результати застосування патерну Singleton