|
Структурні патерни — Structural patterns
ADO в Delphi AJAX Android C++ CakePHP CMS COM CSS Delphi Flash Flex HTML Internet Java JavaScript MySQL PHP RIA SCORM Silverlight SQL UML XML Бази даних Веб-розробка Генетичні алгоритми ГІС Гітара Дизайн Економіка Інтелектуальні СДН Колір Масаж Математика Медицина Музика Нечітка логіка ООП Патерни Подання знань Розкрутка сайту, SEO САПР Сесії в PHP Системне програмування Системний аналіз Тестологія Тестування ПЗ Фреймворки Штучний інтелект
|
Структурні патерни — Structural patternsКлючові поняття: Адаптер., Міст, Компонувальник , Декоратор , Легковаговик, Проксі, Фасад , Структурні патерни.
Основним завданням структурних патернів є формування найбільш підходящої структури та взаємодії між класами для виконання певних завдань. Якщо ви хочете розділити абстракцію та імплементацію так, що на одному боці ви матимете абстракцію, а на іншому декілька реалізацій, причому всі доступні до модифікацій, то слід задуматися над поєднанням таких незалежних абстракції та реалізації за допомогою патерну Міст. Якщо елемент містить собі подібні елементи, а вони в свою чергу також можуть містити елементи, то найлегше таку структуру реалізувати за допомогою Компонувальника. Для швидкої та динамічної можливості розширення існуючої функціональності, без зміни її носителя, можна скористатися Декоратором. Якщо ваша система використовує багато об’єктів, що мають спільні дані, то такі дані можна винести та зробити загальнодоступними для економії пам’яті за допомогою патерну Легковаговик. Якщо відсутня можливість працювати із об’єктом напряму, використайте Проксі, що дозволить донести ваші команди до пункту призначення.
По матеріалам книги Андрія Будая "Дизайн патерни – просто, як двері". Матеріал розміщується за домовленістю з автором.
6. Адаптер — Adapter7. Міст — Bridge Уявімо, що ви володієте будівельною компанією, яка будує дачні будинки і житлові масиви. Зазвичай будівлі є двох типів — або з цегли, або з бетонних плит. Оскільки ви бос, то ви вирішили поділити всіх ваших робітників на команди, які будуть вміти робити одні і ті ж операції: BuildFoundation, BuildRoom, BuildRoof.8. Компонувальник — Composite Чи ви коли небуть задумувалися над тим, чому так багато речей у цьому світі мають деревовидну структуру? Адміністративний устрій країни для прикладу, або ж ваша організація. Топ-менеджмент компанії може делегувати роботу менеджерам відділів, які, відповідно, делегують її до ваших прямих менеджерів, а ті, в свою чергу, дадуть вам якусь роботу.9. Декоратор — Decorator10. Фасад — Facade11. Легковаговик — Flyweight Уявіть, що ви розробляєте якогось бота до онлайн-іграшки. У вас уже є веб-клієнт, який на кожну відповідь від сервера парсить HTML, у якому є записані юніти гри. Гра має близько 50 різних типів юнітів-тваринок, але коли ви розбираєте відповідь, то ви можете отримати цілу гору екземплярів однієї і тієї ж тваринки і ще цілу купу екземплярів інших тварюк.12. Проксі — ProxyЗверніть увагу на додаткові посиланняЯкщо вас цікавить...Головний розділзагрузка...
|
Сторінки, близькі за змістом ![]() Шаблони проектування програмного забезпечення (англ. software design patterns) — ефективні способи вирішення задач проектування програмного забезпечення. Шаблон не є закінченим зразком, який можна безпосередньо транслювати в програмний код. Об'єктно-орієнтований шаблон найчастіше є зразком вирішення проблеми і відображає відношення між класами та об'єктами, без вказівки на те, як буде зрештою реалізоване це відношення. |
|
Copyright © 2008—2026 Портал Знань.
При використанні матеріалів посилання, для інтернет-ресурсів — гіперпосилання, на Znannya.org обов'язкове.
Зв'язок
|
НТУУ "КПІ" Інженерія програмного забезпечення КПІ Лабораторія СЕТ |
|