Навіщо знати патерни?
Ви можете цілком успішно працювати, не знаючи жодного патерна. Більше того, ви могли вже не раз реалізувати який-небудь з патернів, навіть не підозрюючи про це.
Але якраз свідоме володіння інструментом відрізняє професіонала від аматора. Ви можете забити цвях молотком, а можете й дрилем, якщо дуже сильно постараєтесь. Але професіонал знає, що головна фішка дриля зовсім не в цьому. Отже, навіщо ж знати патерни?
-
Перевірені рішення. Ви витрачаєте менше часу, використовуючи готові рішення, замість повторного винаходу велосипеда. До деяких рішень ви могли б дійти й самотужки, але багато які з них стануть для вас відкриттям.
-
Стандартизація коду. Ви робите менше прорахунків при проектуванні, використовуючи типові уніфіковані рішення, оскільки всі приховані в них проблеми вже давно знайдено.
-
Загальний словник програмістів. Ви вимовляєте назву патерна, замість того, щоб годину пояснювати іншим програмістам, який крутий дизайн ви придумали і які класи для цього потрібні.