Патерни Програмування: Що таке патерни та їхні типи?

    Цей пост розпочинає нову серію статей під назвою Патерни Програмування.

    Design Patterns

    @fromdev.com

    У цьому ввідному пості ми з вами коротенько оглянемо:

    • що таке Патерни Програмування
    • для чого їх придумали
    • типи та категоризація патернів

    Даний матеріал буде корисним як початківцям так і профікам програмістам, щоб освіжити та підсумувати свої існуючі знання.

    Отже, погнали!

    Що таке Патерни Програмування

    Саме слово Патерн (pattern) з англійської перекладається як зразок, шаблон, приклад, екземпляр, заготовка. Дуже класне порівняння – це форма для випікання хліба. Раз зробили шаблон і використовуємо постійно для випікання усіх наступних хлібин.

    Патерни Програмування – це напрацьовані ефективні підходи, техніки та правила вирішення задач при створенні програмного забезпечення. Вони не прив’язуються до певної мови програмування і можуть бути застосованими в основному незалежно від конкретної мови. Хоча у даній серії, при можливості, я буду намагатися надавати приклади того чи іншого патерна з допомогою мови програмування Python.

    Також використовується цілий ряд інших назв як от: Шаблони Проектування Програмного Забезпечення, Дизайн Патерни (Design Patterns), Шаблони Програмування, і т.д.

    Ось тут можна прочитати коротко про історію виникнення та формування патернів програмування.

    Із попередньо наведеного означення патерна стає зрозуміло, що їх придумали та сформували в першу чергу для того, щоб полегшити життя програмісту та пришвидшити реалізацію певних стандартизованих задач згідно даних шаблонів-заготовок. А не кожного разу придумувати колесо. Таким чином подібні задачі різні програмісти вирішуватимуть подібним чином, швидше та ефективніше.

    Я сам довгий час не знав про патерни програмування, але, як потім з’ясував, з практикою сам прийшов до частини з них. Тому, якщо ви ще досі не знайомі з ними, рекомендую присвятити трохи часу на даний курс і вже після нього почати використовувати ефективні способи вирішення стандартних задач більш ефективно та свідомо! Думаю велику частину з них ви уже використовуєте у своїй практиці, свідомо або ні.

    Початківцям також буде корисно ознайомитися з даними способами, адже це зекономить час на винайдення власного велосипеда, натомість можна одразу навчитись кататись на існуючому та ще й до того правильно! 😉

    Види Патернів Програмування

    Є багато різноманітних категорій і видів патернів, від різноманітних програмістів. Але в даному курсі зупинимося лише на найбільш поширених патернах, які групуються у наступні три категорії:

    1. Породжуючі – патерни, що надають рекомендації та техніки для створення нових об’єктів. Існує 5 породжуючих патернів.
    2. Поведінкові – патерни, що надають рекомендації для реалізації тої чи іншої поведінки-функції існуючого об’єкта. Є 11 поведінкових патернів.
    3. Структурні – даний тип патернів розглядає питання взаємодії між собою існуючих об’єктів. Всього є 7 структурних патернів.

    Отже, всього маємо 23 патерни програмування, які ми будемо з вами розглядати у наступних статтях. Чи будемо ми це робити один патерн в статті, а чи можливо групувати у кілька патернів в одному постів – я ще вирішу. Мабуть взалежності від складності того чи іншого патерна.

    В наступній статті розпочнемо з породжуючих патернів і як мінімум розберемо один із них – Абстрактну Фабрику.

    Знаю, що існують також і інші класифікації шаблонів програмування. А які знаєте ви? Чи використовуєте ви свідомо шаблони програмування у вашій щоденній програмістській роботі, якщо так тоді які?

    Коментарі:

    1. Дуже цікава та користа стаття ! Чекаємо продовження ! ). Доречі, є на українській мові – стисло, коротко, зрозуміло = Андрій Будай. Паттерни.

      Відповісти
    2. Прям скарб царя Соломона, а не стаття! Буду чекати наступних 23-х

      Відповісти
      • дякую 🙂 Постараюсь найближчим часом повернутись до даної серії!

    Опублікувати коментар

    Ваша e-mail адреса не оприлюднюватиметься.

    Ви не робот? ;) *