Цей пост розпочинає нову серію статей під назвою Патерни Програмування.
У цьому ввідному пості ми з вами коротенько оглянемо:
- що таке Патерни Програмування
- для чого їх придумали
- типи та категоризація патернів
Даний матеріал буде корисним як початківцям так і профікам програмістам, щоб освіжити та підсумувати свої існуючі знання.
Отже, погнали!
Що таке Патерни Програмування
Саме слово Патерн (pattern) з англійської перекладається як зразок, шаблон, приклад, екземпляр, заготовка. Дуже класне порівняння – це форма для випікання хліба. Раз зробили шаблон і використовуємо постійно для випікання усіх наступних хлібин.
Патерни Програмування – це напрацьовані ефективні підходи, техніки та правила вирішення задач при створенні програмного забезпечення. Вони не прив’язуються до певної мови програмування і можуть бути застосованими в основному незалежно від конкретної мови. Хоча у даній серії, при можливості, я буду намагатися надавати приклади того чи іншого патерна з допомогою мови програмування Python.
Також використовується цілий ряд інших назв як от: Шаблони Проектування Програмного Забезпечення, Дизайн Патерни (Design Patterns), Шаблони Програмування, і т.д.
Ось тут можна прочитати коротко про історію виникнення та формування патернів програмування.
Із попередньо наведеного означення патерна стає зрозуміло, що їх придумали та сформували в першу чергу для того, щоб полегшити життя програмісту та пришвидшити реалізацію певних стандартизованих задач згідно даних шаблонів-заготовок. А не кожного разу придумувати колесо. Таким чином подібні задачі різні програмісти вирішуватимуть подібним чином, швидше та ефективніше.
Я сам довгий час не знав про патерни програмування, але, як потім з’ясував, з практикою сам прийшов до частини з них. Тому, якщо ви ще досі не знайомі з ними, рекомендую присвятити трохи часу на даний курс і вже після нього почати використовувати ефективні способи вирішення стандартних задач більш ефективно та свідомо! Думаю велику частину з них ви уже використовуєте у своїй практиці, свідомо або ні.
Початківцям також буде корисно ознайомитися з даними способами, адже це зекономить час на винайдення власного велосипеда, натомість можна одразу навчитись кататись на існуючому та ще й до того правильно! 😉
Види Патернів Програмування
Є багато різноманітних категорій і видів патернів, від різноманітних програмістів. Але в даному курсі зупинимося лише на найбільш поширених патернах, які групуються у наступні три категорії:
- Породжуючі – патерни, що надають рекомендації та техніки для створення нових об’єктів. Існує 5 породжуючих патернів.
- Поведінкові – патерни, що надають рекомендації для реалізації тої чи іншої поведінки-функції існуючого об’єкта. Є 11 поведінкових патернів.
- Структурні – даний тип патернів розглядає питання взаємодії між собою існуючих об’єктів. Всього є 7 структурних патернів.
Отже, всього маємо 23 патерни програмування, які ми будемо з вами розглядати у наступних статтях. Чи будемо ми це робити один патерн в статті, а чи можливо групувати у кілька патернів в одному постів – я ще вирішу. Мабуть взалежності від складності того чи іншого патерна.
В наступній статті розпочнемо з породжуючих патернів і як мінімум розберемо один із них – Абстрактну Фабрику.
Знаю, що існують також і інші класифікації шаблонів програмування. А які знаєте ви? Чи використовуєте ви свідомо шаблони програмування у вашій щоденній програмістській роботі, якщо так тоді які?
Шукаю де поставити лайк)
Дякую вам за статті!
Дуже цікава та користа стаття ! Чекаємо продовження ! ). Доречі, є на українській мові – стисло, коротко, зрозуміло = Андрій Будай. Паттерни.
Прям скарб царя Соломона, а не стаття! Буду чекати наступних 23-х
дякую 🙂 Постараюсь найближчим часом повернутись до даної серії!