Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Какие паттерны проектирования вы используете?


Автор: zzzpupercoderzzz 4.10.2013, 15:18
Какие паттерны проектирования вы используете в своих программах? 
Сколько паттернов проектирования должно быть в профессиональной программе? Приведите список обязательных паттернов проектирования для профессиональной программы.

Автор: baldina 4.10.2013, 16:18
какие инструменты вы используете при сборке мебели?
сколько инструментов обязательно надо применить при сборке шкафа (альтернативный вопрос: если не используется такой-то инструмент, может ли шкаф считаться нормально собранным)?
приведите список обязательных инструментов.

обязательных в любом списке два - голова и прямые руки.
наличие (отсутствие) паттерна не является признаком профессионализма: паттерн это типовое решение, можно применять паттерн, даже не зная об этом. 

в конкретных ЯП тоже есть свои маленькие паттерны (их обычно именуют идиомами), их наличие и применение в соответствующем месте может указывать на степень владения языком. однако профессионально исполненная программа "хелоуворд" паттернов не содержит: они там не нужны.

Автор: Фантом 4.10.2013, 18:18
Цитата(zzzpupercoderzzz @  4.10.2013,  16:18 Найти цитируемый пост)
Какие паттерны проектирования вы используете в своих программах? 
Сколько паттернов проектирования должно быть в профессиональной программе? Приведите список обязательных паттернов проектирования для профессиональной программы. 

В чем состоит цель написания программ? Применить некоторые паттерны проектирования, сделать программу "профессиональной" или все-таки что-то другое? 

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

Автор: ТарасАтавин 7.10.2013, 16:22
Профессионал должен быть способен писать без паттернов, но ни один профессионал не станет из принципа избегать паттернов. Паттерн не используется в том случае, когда он не уместен, а не ради оригинальности. А используется тогда, когда нет смыла велосипедить. Знать паттерны надо. Но использовать ли их? Ответить на этот вопрос можно только в каждом конкретном случае и нельзя в общем.

Автор: baldina 7.10.2013, 16:34
Цитата(ТарасАтавин @  7.10.2013,  16:22 Найти цитируемый пост)
Профессионал должен быть способен писать без паттернов

перепишите вот этот фрагмент без использования паттерна
Код

for (int i=0; i < n; ++i)
  // что-то делаем с A[i]

Автор: ТарасАтавин 7.10.2013, 17:21
Цитата(baldina @  7.10.2013,  16:34 Найти цитируемый пост)
перепишите вот этот фрагмент без использования паттерна
Ну как найди у меня слова: "всё" и "всегда". Если паттерн сам напрашивается, то его надо использовать, а не заменять простой и понятный цикл его эмуляцией на альтернативах и переходах. Но ведь может попасться ситуация, для которой паттерн просто не придуман. Так вот, не профессионал не решит задачу, а профессионал напишет без паттерна. А если эта экзотика потом вдруг начнёт часто повторяться, то окажется, что он придумал собственный паттерн.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)