Зачем нужны паттерны ООП?

в 8:13, , рубрики: design patterns, обучение программированию, ооп, паттерны проектирования, Программирование, Учебный процесс в IT, шаблоны проектирования, школа, метки: , , , ,

Эта статья — попытка ответить на вопрос 11-летнего олимпиадника: «Зачем нужны паттерны?» Ещё не отправил, выношу на общий суд и прошу любой критики. Цель — не дать исчерпывающий ответ, а вызвать новые вопросы.

Итак

Как учат программированию в школе? Вам дают формочки и учат делать куличики из песка. Это хорошо, надо ведь с чего-то начинать.

Но ты хочешь заняться более серьёзным делом. Например, построить дом. Из чего? Вас учили только из песка. Вам ничего не рассказывали о кирпичах — это не дело школы. (Скажу по секрету: они это не умеют.)

Хочешь строить дом? Подожди, давай научимся обжигать кирпичи. Или пойдём купим на рынке. Кирпичи — это и есть паттерны.

Зачем нужны паттерны ООП?

Почему это важно? Просто многие мои друзья (именно из разряда «олимпиадников») жестоко разочаровались в программировании, потому что они хотели строить зáмки из песка. Внешне это было классно! Например, мой друг написал сложнейшую логическую игру, но «на коленке», на анти-паттернах, как нас учили в школе…

«Анти-паттерн» — это то, как не надо проектировать программы.

А ещё мы с ним делали машинки на электромоторах. Мои машины всегда ездили быстрее, но я их делал «на коленке», из подручных материалов с изолентой. А он всегда пытался применять какие-то методы проектирования, стандартизировал «производственные процессы»… Его машины были медленнее. Но догадайся: кто из нас теперь стал конструктором (проектирует коробки передач)?

Вот что я наблюдаю: если ты сейчас научишься строить домá из песка (красивые!), машины на скотче (быстрые!), то потом переучиться практически невозможно. Мотивации не будет.

Вывод: если хочешь стать профессионалом, лучше начать строить домик из двух кирпичей, чем большущий зáмок из песка. Хотя замок проще.

Зачем нужны паттерны ООП?

Когда ты начнёшь потихоньку применять методики ООП в своих проектах (даже в самых простых), ты сразу увидишь, что паттерны не дают наступать на одни и те же грабли. Потом увидишь, как они упрощают взаимодействие между разработчиками. И вообще облегчают жизнь.

Применение паттернов — это те знания, которые приходят только с опытом. Если ты уже начнёшь пытаться их применять, то сэкономишь несколько лет.

P.S. Хабру:

Вопрос «Зачем нужны паттерны… 11-летнему?!» предлагаю не обсуждать. Мне бы лет 15 назад рассказали хоть что-нибудь из проектирования! (При всём моём уважении к подходу «пусть набьёт шишки, а потом мы ему скажем, что есть паттерны»...)

Кстати, тенденция «ООП с пелёнок» не нова.

Обсуждения по теме

Для чего нужны шаблоны проектирования
Паттерны ООП в метафорах
Как два программиста хлеб пекли

Автор: x256

Источник

Поделиться

* - обязательные к заполнению поля