Навіщо знати патерни?

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

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

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

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

  • Загальний словник програмістів. Ви вимовляєте назву патерну, замість того, щоб годину пояснювати іншим програмістам, який крутий дизайн ви придумали і які класи для цього потрібні.