3.9. ТРИ ТЕХНОЛОГИЧЕСКИХ СТИЛЯ ПРОГРАММИРОВАНИЯ
165
(даже сами профессионалы им пользуются). Это — подход к разработке про-
грамм по заданным заранее шаблонам. Это скорее целый набор “вырожден-
ных” стилей,каждый из которых выделяется в связи с тем, что в той или иной
ситуации скрывается под понятием образец, фрейм, шаблон.
Выше отмечалась связь между программированием от переиспользова-
ния и программированием от образцов.Но не всякое переиспользование умест-
но считать программированием от образцов. Так, когда повторно использу-
ется фрагмент, который можно рассматривать как черный ящик, то ничего,
кроме результатов вычислений фрагмента не внедряется в новую програм-
му, следовательно, фрагмент не предписывает метода построения програм-
мы.Противоположная ситуация с переиспользованием уровня проектных ре-
шений. Эти решения диктуют, как будет построена программа. Шаблоны и
каркасы, появившиеся в какой-либо разработке либо построенные специаль-
но, становятся образцами для нового программного проекта. При этом со-
всем не обязательно, чтобы образец и конструируемая программа были бы
написаны на одном языке. Напротив, можно извлечь определенную выгоду
из того, что образец не привязывается к модели вычислений разрабатывае-
мой программы. Если образец специально создается для данной программы,
например, чтобы лучше понять решаемую задачу, то для него целесообразно
выбирать язык повышенного уровня или другой модели вычислений и за счет
этого иметь возможность быстрее реализовать пробную версию, макет и т. д.
Подобные соображения мотивируют разновидность стиля программирова-
ния от образца, получившую название макетирования (см. ниже). В данном
случае четко понятно, что имеет место не переиспользование, а собствен-
но программирование от образца. Но такой чистый случай является скорее
исключением, чем правилом: чаше всего трудно провести границу между са-
мостоятельным стилем и технологическими приемами переиспользования.
Можно указать следующие характерные случаи применения программи-
рования от образцов:
• Дается программа, написанная в каком угодно стиле, в которой нужно
кое-что изменить. Точно известно, в каких местах нужно это изменять.
В результате получается новая программа. Этот случай часто в про-
фессиональном языке называется патчем программы. И весьма квали-
фицированные программисты пользуются набором таких образцов, их
стали включать и в руководства по ООП.
• Дан набор программных инструментов, разработанный специалиста-
ми, и методика их применения, которая включает в себя схему соста-