- •Конспект лекцій з дисципліни Основи автоматизованого проектування складних об’єктів та систем
- •Глобальне значення інформаційного моделювання для прогресу технології автоматизованого проектування програмних рішень
- •Особливості створення комп’ютерних інформаційних систем на основі технології grid
- •Порівняння web-сервісів, тобто класичних сервісно-орієнтованих рішень з grid soa
- •Основні переваги (вигоди) використання сервісно-орієнтованих архітектур при проектуванні програмних ужитків.
- •Складність розробок програмних компонентів.
Складність розробок програмних компонентів.
RAD привів до ще однієї технології, званої PATTERN – технологій – це технологія автоматизованого проектування прогрмних продуктів.
Сьогодні Pattern – технологія є найбільш прогресивною для втілення на різних програмних платформах повторно-застосовуваних, якісно – розроблених досвідченими гуру програмування компонентів.
Паттерн – шаблон , зразок програмного рішення які уособлює повну функціональність, що може бути багатократно застосована в різних проектах, в архітектурних цілях.
Паттерни для автоматизованого проектного програмування ужитків суттєво змінили технологіюавтоматизованого проектування. Чому? По- перше, бо паттерни стали популярними для багатократного використання програмного коду в різних роектах.
По-друре за допомогою паттерна можна суттєво покращити архітектурні рішення складних комп‘ютерних інформаційних систем.
По-третє, паттерни сприяють підвищенню надійності програмних рішень, адже вивірений, добротний програмний код багатоератного використання сприяє підвищенню показників надійності програмної архітектури.
Вважається фахівцями і експертами з комп‘ютерних наук, що застосування патернів сприяє покращенню архітектурних рішень.
Сьогодні паттерни задіяні в нові інструменти для атоматизованого програмування ужитків. Деякі з найпотужніших паттернів побудовані на основі комбінації окремих паттернів.
Паттерни суттєво зменшують час проектування і сприяють впровадженню гнучких методик автоматизованого проектування, так званихAgile Programming.
Зв‘язування інформаційних складових на основі нелінійного асоціативного принципу завдяки символьному гіпертекстовому інтерфейсу було придумано Тімом Бернерсом Лі у 1988р. Гіпертекстові зв‘язки формують дружній підхід для вибирання способу задіювання інформаційних елементів на web-сайтах.
До перших золотих зерняток своєї розробки Тім Бернерс Лі зарахував також вперше запропонований і дуже простий втілений порядковий браузер (перелистувач), який в первинному вигляді складався з лінійки, тобто із стрічки. Інтерфецс настільки простим, що киристувачі в повній мірі відчули дружній метод взаємодії. Тім Бернерс Лі створив інтерфейс, який обмежувався лише одним рядком.
Як працював браузер? Спочатку потрібно було користувачевізадіяти інтернет-ресурс TELNET. Користувач під‘єднувався за допомогою TELNET до одного із двох сервісів які були задіяні в 404 кімнаті CERN :
І сервер – info.cern.ch
ІI сервер – hx 01 cern.ch.
Перша версія браузерного інтерфейсу дозволяла задіювати після реєстрації на одному із двох веб-серверів та введенні лише двох команд:
-
start a search
-
folow a link.
Більш сучасна версія також була версією текстового символьного інтерфейсу. Їй було далеко до графічного варіанту користувацького інтерфейсу.
RAD (Raid Application Development) - це вміння принципів швидкого програмування, завдяки компонентного підходу.
Багато нових інструментів, які підтримують технологію швидкого автоматизованого проектування називаються Framework.
Функція склеювання, яку забезпечують сценарні мови є надзвичайно плідна, для того, щоб будувати складні проекти, мкладені з різних частин, які написані різними вторами.
На сьогодні паттерни для автоматизованого проектування програмних рішень забезпечують мисливість штучного проектування складних проектів. Agile Programming не можливе без використання паттернів. Добре об‘єктно-орієнтовані рішення, як правило базуються на використання паттернів.
Тема :Паттерне проектування
Паттерне проектування відноситься до більш високого рівня інструментальної підтримки в порівнянні із звичайними бібліотеками.
Чому паттерни є більш високим рівнем?
Тому що паттерни є молекулярні утворення.
Бо паттерни визначають способи структурування класів та об’єктів для вирішення складних завдань проектування ужитків.
Класифікація java паттернів проектування:
-
Група - породжуючи паттерни – що призначені для створення екземплярів об’єктів. Всі вони забезпечують засоби логічної ізоляції клієнта від створюваних об’єктів. Найбільш значними паттернами цього класу є :
-
Одинак
-
Будівельник
-
Прототип
-
Абстрактна Фабрика
-
Фабричний Метод
-
Структурні паттерни - об’єднують класи чи об’єкти в більш крупні структурні утворення .
Цікаво що сьогодні в інструментах автоматизованого Ява проектування структурні патерни ввійшли в склад інструментів автоматизованого проектування.
Відомо 7 найкращих паттернів
-
Заступник
-
Декоратор
-
Компонувальник
-
Фасад
-
Міст
-
Адаптер
-
Приспосібленець
-
Поведінкові паттерни – призначені для забезпечення взаємодії , розподілу обов’язків між класами і об’єктами .
Відомо 11 паттернів
-
Відвідувач
-
Посередник
-
Ітератор
-
Шаблонний метод
-
Команда
-
Зберігач
-
Інтерпретатор
-
Спостерігач
-
Стан
-
Стратегія
-
Ланцюжок обов’язків
Рефакторинг
Рефакторінг – це може бути на основі часу застосування паттернів , але значно глибше є значемість рефікторінга.
Рефакторінг- це є покращення організації програмного коду який працює , але по продуктивності чи по інших причинах не влаштовує.
5-річний період успішного застосування паттернів дозволив виявити програмістами цікаву закономірність , якщо ви спроектували програмний код і ви там задіяли велику кількість умовних виразів , тоді застосування паттернів є вельми бажаним.
Як співвідносяться число класів і число об’єктів при створені паттернів ???
На сьогодні лише 4 класи якісно відпрацьовують запотребування розробників. Це класи
-
шаблонний метод
-
Адаптер
-
Фабричний метод
-
Інтерпретатор
Натомість число об’єктів ява паттернів скоро буде досягати двадцятки.
-
Компонувальник
-
Відвідувач
-
Ітератор
-
Декоратор
-
Фасад
-
Команда
-
Зберігач
-
Заступник
-
Спостерігач
-
Стратегія
-
Ланцюжок обов’язків
-
Міст
-
Посередник
-
Стан
-
Приспосібленець
-
Прототип
-
Абстрактна фабрика
-
Будівельник
-
Одинак
Створено спеціальний веб-сайт ентузіастом ява патернів автор Гранд Марк.
http://www.omg.org/technology/documments/formal/uml.html
Марк Грант створив веб-каталог популярних паттернів ів проілюстрував їх за допомоглою uml- візуалізації.
Сьогодні паттерни вже стають більш доступними оскільки зявилася uml-візуалізація.