31 березня 2013

Вивчаємо шаблони проектування


Отже, що ж таке шаблони проектування (патерни проектування, design patterns).
Спробую відповісти на це запитання. В процесі розробки програмних продуктів, задачі які ми вирішуємо, мають різну ступінь складності, іноді нам трапляються непрості рішення, які нам потрібно реалізувати в нашому програмному продукті, але ці рішення не нові в програмуванні, і подібне щось, вже раніше було. Найкращий архітектурні рішення, з часом зберігаються, повторюються і стають дуже популярними. Такими рішеннями, і є шаблони проектування. Їх застосування рахується хорошим тоном в програмуванні. Проте підхід: "Є задача, застосовуємо патерн, маємо проблеми" - не правильний. Правильний підхід: "Є проблема, застосовуємо патерн, проблема вирішена". 
Отже, патерни (шаблони) проектування, це готові "приклади" вирішення задачі які перевірені часом та практикою, та стали дуже популярними.

Що б я порадив для їх вивчення. Перше, це вивчити декілька найпопулярніших патернів, але не слід на довго застрягати на них. Все рівно ви їх з часом забудете, але познайомитись з ними слід. І коли вам потрібно буде вирішити якусь задачу, до якої варто застосувати "патерн", ви швидко пригадаєте його і реалізуєте у своїй програмі.

Про патерни проектування було написано багато різної літератури. Я раджу вам прочитати невеличку книгу "Дизайн-патерни - просто як двері". Її автор Андрій Будай. Книга написана стисло, кожен патерн у цій книзі, розглянутий на прикладі, з демонстрацією коду мовою програмування C#. Навіщо багато говорити, качайте і оцініть самі. :) Хочу звернути увагу на те, що книга написана українською мовою. Мені вона дуже сподобалась! Але якщо вона вам не підходить, тоді для вас інша книга.

Для тих хто відчуває дискомфорт, під час читання українською мовою, я можу порадити книгу "Приемы объектно-ориентированного проектирования", оскільки чув про неї дуже хороші відгуки. Раджу її читати англійською мовою, якщо це проблематично, тоді можна читати й російський переклад. Але переклад російською мовою, може бути не дуже якісним, що підтверджують відгуки читачів перекладу цієї книги.
Особисто я, вивчав патерни по книзі Андрія Будая а також випадковим коротеньким статям в інтернеті. Думаю ці дві книги, будуть добре доповнювати одна одну.

В подальшому, я планую, написати кілька публікацій в блозі, по найбільш популярніших патернах. 
До зустрічі в нових публікаціях!

0 коментарів:

Дописати коментар