Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект лекцій з ОАПСОіС.doc
Скачиваний:
5
Добавлен:
03.12.2018
Размер:
239.1 Кб
Скачать

Складність розробок програмних компонентів.

RAD привів до ще однієї технології, званої PATTERN – технологій – це технологія автоматизованого проектування прогрмних продуктів.

Сьогодні Pattern – технологія є найбільш прогресивною для втілення на різних програмних платформах повторно-застосовуваних, якісно – розроблених досвідченими гуру програмування компонентів.

Паттерн – шаблон , зразок програмного рішення які уособлює повну функціональність, що може бути багатократно застосована в різних проектах, в архітектурних цілях.

Паттерни для автоматизованого проектного програмування ужитків суттєво змінили технологіюавтоматизованого проектування. Чому? По- перше, бо паттерни стали популярними для багатократного використання програмного коду в різних роектах.

По-друре за допомогою паттерна можна суттєво покращити архітектурні рішення складних комп‘ютерних інформаційних систем.

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

Вважається фахівцями і експертами з комп‘ютерних наук, що застосування патернів сприяє покращенню архітектурних рішень.

Сьогодні паттерни задіяні в нові інструменти для атоматизованого програмування ужитків. Деякі з найпотужніших паттернів побудовані на основі комбінації окремих паттернів.

Паттерни суттєво зменшують час проектування і сприяють впровадженню гнучких методик автоматизованого проектування, так званихAgile Programming.

Зв‘язування інформаційних складових на основі нелінійного асоціативного принципу завдяки символьному гіпертекстовому інтерфейсу було придумано Тімом Бернерсом Лі у 1988р. Гіпертекстові зв‘язки формують дружній підхід для вибирання способу задіювання інформаційних елементів на web-сайтах.

До перших золотих зерняток своєї розробки Тім Бернерс Лі зарахував також вперше запропонований і дуже простий втілений порядковий браузер (перелистувач), який в первинному вигляді складався з лінійки, тобто із стрічки. Інтерфецс настільки простим, що киристувачі в повній мірі відчули дружній метод взаємодії. Тім Бернерс Лі створив інтерфейс, який обмежувався лише одним рядком.

Як працював браузер? Спочатку потрібно було користувачевізадіяти інтернет-ресурс TELNET. Користувач під‘єднувався за допомогою TELNET до одного із двох сервісів які були задіяні в 404 кімнаті CERN :

І сервер – info.cern.ch

ІI сервер – hx 01 cern.ch.

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

  1. start a search

  2. folow a link.

Більш сучасна версія також була версією текстового символьного інтерфейсу. Їй було далеко до графічного варіанту користувацького інтерфейсу.

RAD (Raid Application Development) - це вміння принципів швидкого програмування, завдяки компонентного підходу.

Багато нових інструментів, які підтримують технологію швидкого автоматизованого проектування називаються Framework.

Функція склеювання, яку забезпечують сценарні мови є надзвичайно плідна, для того, щоб будувати складні проекти, мкладені з різних частин, які написані різними вторами.

На сьогодні паттерни для автоматизованого проектування програмних рішень забезпечують мисливість штучного проектування складних проектів. Agile Programming не можливе без використання паттернів. Добре об‘єктно-орієнтовані рішення, як правило базуються на використання паттернів.

Тема :Паттерне проектування

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

Чому паттерни є більш високим рівнем?

Тому що паттерни є молекулярні утворення.

Бо паттерни визначають способи структурування класів та об’єктів для вирішення складних завдань проектування ужитків.

Класифікація java паттернів проектування:

  1. Група - породжуючи паттерни – що призначені для створення екземплярів об’єктів. Всі вони забезпечують засоби логічної ізоляції клієнта від створюваних об’єктів. Найбільш значними паттернами цього класу є :

  1. Одинак

  2. Будівельник

  3. Прототип

  4. Абстрактна Фабрика

  5. Фабричний Метод

  1. Структурні паттерни - об’єднують класи чи об’єкти в більш крупні структурні утворення .

Цікаво що сьогодні в інструментах автоматизованого Ява проектування структурні патерни ввійшли в склад інструментів автоматизованого проектування.

Відомо 7 найкращих паттернів

  1. Заступник

  2. Декоратор

  3. Компонувальник

  4. Фасад

  5. Міст

  6. Адаптер

  7. Приспосібленець

  1. Поведінкові паттерни – призначені для забезпечення взаємодії , розподілу обов’язків між класами і об’єктами .

Відомо 11 паттернів

  1. Відвідувач

  2. Посередник

  3. Ітератор

  4. Шаблонний метод

  5. Команда

  6. Зберігач

  7. Інтерпретатор

  8. Спостерігач

  9. Стан

  10. Стратегія

  11. Ланцюжок обов’язків

Рефакторинг

Рефакторінг – це може бути на основі часу застосування паттернів , але значно глибше є значемість рефікторінга.

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

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

Як співвідносяться число класів і число об’єктів при створені паттернів ???

На сьогодні лише 4 класи якісно відпрацьовують запотребування розробників. Це класи

  1. шаблонний метод

  2. Адаптер

  3. Фабричний метод

  4. Інтерпретатор

Натомість число об’єктів ява паттернів скоро буде досягати двадцятки.

  1. Компонувальник

  2. Відвідувач

  3. Ітератор

  4. Декоратор

  5. Фасад

  6. Команда

  7. Зберігач

  8. Заступник

  9. Спостерігач

  10. Стратегія

  11. Ланцюжок обов’язків

  12. Міст

  13. Посередник

  14. Стан

  15. Приспосібленець

  16. Прототип

  17. Абстрактна фабрика

  18. Будівельник

  19. Одинак

Створено спеціальний веб-сайт ентузіастом ява патернів автор Гранд Марк.

http://www.omg.org/technology/documments/formal/uml.html

Марк Грант створив веб-каталог популярних паттернів ів проілюстрував їх за допомоглою uml- візуалізації.

Сьогодні паттерни вже стають більш доступними оскільки зявилася uml-візуалізація.