Патологія шаблонів

Чед Лавінь

Шаблони проектування – один з найкорисніших інструментів в арсеналі архітектора програмного забезпечення Використання шаблонів дозволяє створювати типові рішення, які простіше зрозуміти і пояснити іншим Сама ідея шаблонів безпосередньо асоціюється з якісним проектуванням Через це у нас часто виникає спокуса продемонструвати свою досвідченість, включивши в проект велика кількість шаблонів Якщо ви зловили себе на тому, що наполегливо втискується свої улюблені шаблони в простір завдання, де вони недоречні, то не виключено, що ви стали жертвою патології шаблонів

Багато проектів страждають від такого стану справ Дивлячись на них, так і бачиш, як архітектор проекту піднімає погляд від останньої сторінки збірника шаблонів, потирає руки і вимовляє: «Так, з якого шаблону почнемо . » Цей образ дій почасти те саме підходу розробника, початківця писати клас з думки: «Хм, від якого б класу мені успадкувати .» Шаблони проектування – відмінний інструмент зниження невідємною складності, але, як і будь-який інший інструмент, його можна використовувати неправильно Є відоме прислівя: «Людина з молотком всюди бачить цвяхи» коли в ролі такого молотка виявляються шаблони проектування, проблеми неминучі Слідкуйте за тим, щоб ваша любов до шаблонів не перетворилася на манію, яка призведе до реалізації більш складних рішень, ніж це дійсно необхідно

Шаблони – не панацея, а їх використання не завжди служить ознакою хорошого дизайну Вони являють собою всього лише повторно застосовні рішення типових задач, знайдені і описані іншими розробниками, щоб нам було легше впізнати «вже винайдений велосипед», якщо він попадеться нам на очі Наше завдання – виявити ті проблеми, для яких створювалися ці рішення, і правильно застосувати відповідний шаблон проектування Не дозволяйте своїм бажанням продемонструвати майстерне володіння шаблонами проектування взяти верх над прагматизмом Направте свої зусилля на проектування систем, що забезпечують ефективне рішення бізнес-задач, і використовуйте шаблони для вирішення тих проблем, для яких вони призначені

Чед Лавін (Chad LaVigne) – архітектор програмних рішень та позаштатний технічний фахівець фірми TEKSystems, Inc (Балтімор) Працює в основному в Міннеаполісі, займається проектуванням і реалізацією рішень на базі технологій Enterprise Java

Джерело: Форд Н, Найгард М, де Ора Б, 97 етюдів для архітекторів програмних систем – Пер з англ – СПб: Сим-вол-Плюс, 2010 – 224 с, Мул

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*